保留关键字
JavaScript 具有预定义的预留关键字集合,你不能将其用作变量,标签或函数名称
ECMAScript 1
Version = 1
A - E. | E - R. | S - Z. |
---|---|---|
break |
export |
super |
case |
extends |
switch |
catch |
false |
this |
class |
finally |
throw |
const |
for |
true |
continue |
function |
try |
debugger |
if |
typeof |
default |
import |
var |
delete |
in |
void |
do |
new |
while |
else |
null |
with |
enum |
return |
ECMAScript 2
添加了 24 个其他保留关键字 (新增加粗体)。
Version = E4X
A - F. | F - P. | P - Z. |
---|---|---|
abstract |
final |
public |
boolean |
finally |
return |
break |
float |
short |
byte |
for |
static |
case |
function |
super |
catch |
goto |
switch |
char |
if |
synchronized |
class |
implements |
this |
const |
import |
throw |
continue |
in |
throws |
debugger |
instanceof |
transient |
default |
int |
true |
delete |
interface |
try |
do |
long |
typeof |
double |
native |
var |
else |
new |
void |
enum |
null |
volatile |
export |
package |
while |
extends |
private |
with |
false |
protected |
ECMAScript 5 / 5.1
自 ECMAScript 3 以来没有任何变化。
ECMAScript 5 删除了 int
,byte
,char
,goto
,long
,final
,float
,short
,double
,native
,throws
,boolean
,abstract
,volatile
,transient
和 synchronized
; 它添加了 let
和 yield
。
A - F. | F - P. | P - Z. |
---|---|---|
break |
finally |
public |
case |
for |
return |
catch |
function |
static |
class |
if |
super |
const |
implements |
switch |
continue |
import |
this |
debugger |
in |
throw |
default |
instanceof |
true |
delete |
interface |
try |
do |
let |
typeof |
else |
new |
var |
enum |
null |
void |
export |
package |
while |
extends |
private |
with |
false |
protected |
yield |
implements
,let
,private
,public
,interface
,package
,protected
,static
和yield
仅在严格模式下不允许。
eval
和arguments
不是保留字,但它们在严格模式下表现得像。
ECMAScript 6 / ECMAScript 2015
A - E. | E - R. | S - Z. |
---|---|---|
break |
export |
super |
case |
extends |
switch |
catch |
finally |
this |
class |
for |
throw |
const |
function |
try |
continue |
if |
typeof |
debugger |
import |
var |
default |
in |
void |
delete |
instanceof |
while |
do |
new |
with |
else |
return |
yield |
未来保留关键字
以下是 ECMAScript 规范保留的未来关键字。它们目前没有特殊功能,但它们可能在将来某个时间使用,因此它们不能用作标识符。
enum |
只有在严格模式代码中找到以下内容时才会保留以下内容:
implements |
package |
public |
interface |
private |
static |
let |
protected |
旧标准中的未来保留关键字
以下是旧 ECMAScript 规范(ECMAScript 1 至 3)保留的未来关键字。
abstract |
float |
short |
boolean |
goto |
synchronized |
byte |
instanceof |
throws |
char |
int |
transient |
double |
long |
volatile |
final |
native |
此外,文字 null,true 和 false 不能用作 ECMAScript 中的标识符。
来自 Mozilla 开发者网络 。