关键字
关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。关键字也是语言保留的,不能用作标识符。以下是ECMAScript的全部关键字:
break | do | instanceof | type
case | else | new | var
catch | finally | return | void
continue | for | switch | while
debugger | function | this | with
default | if | throw
delete | in | try
保留字
保留字也不能用作标识符,尽管保留字在这门语言中还没有任何特定的用途,但它们有可能在将来被用作关键字。以下是ECMA-262第3版定义的全部保留字:
abstract | enum | int | short
boolean | export | interface | static
byte | extends | long | super
char | final | native | synchronized
class | float | package | throws
const | goto | private | transient
debugger | implements | protected | volatile
double | import | public
第5版把在非严格模式下运行时的保留字缩减为下列这些:
class | enum | extends | super
const | export | import
在严格模式下,第五版还对以下保留字施加了限制”
implements | package | public
interface | private | static
let | protected | yield
注意:let和yield是第5版新增的保留字,其他都是第3版定义的。
在实现ECMAScript3和JavaScript引擎中使用关键字作标识符,会导致“Identifier Expected”错误。而使用保留字作标识符可能会也可能不会导致相同的错误,具体取决于特点的引擎。
除了上面列出的保留字和关键字。ECMA-262第5版对eval和arguments还施加了限制。在严格下,这两个名字也不能用作标识符或属性名,否则会抛出错误。