保留關鍵字

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 刪除了 intbytechargotolongfinalfloatshortdoublenativethrowsbooleanabstractvolatiletransientsynchronized; 它新增了 letyield

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

implementsletprivatepublicinterfacepackageprotectedstaticyield在嚴格模式下不允許

evalarguments 不是保留字,但它們在嚴格模式下表現得像。

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 開發者網路