柠檬墨绿色 发表于 2016/11/7 16:09

JS关键字和保留字汇总

  ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字(带*号上标的是第5 版新增的关键字):

  breakdoinstanceoftypeof

  caseelsenewvar

  catchfinallyreturnvoid

  continueforswitchwhile

  debugger*functionthiswith

  defaultifthrowdelete

  intry

  ECMA-262 还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途。但它们有可能在将来被用作关键字。以下是ECMA-262 第3 版定义的全部保留字:

  abstractenumintshort

  booleanexportinterfacestatic

  byteextendslongsuper

  charfinalnativesynchronized

  classfloatpackagethrows

  constgotoprivatetransient

  debuggerimplementsprotectedvolatile

  doubleimportpublic

  第5 版把在非严格模式下运行时的保留字缩减为下列这些:

  classenumextendssuper

  constexportimport

  在严格模式下,第5 版还对以下保留字施加了限制:

  implementspackagepublicinterface

  privatestaticletprotected

  yield

  注意, let 和yield 是第5 版新增的保留字;其他保留字都是第3 版定义的。为了最大程度地保证兼容性,建议大家将第3 版定义的保留字外加let 和yield 作为编程时的参考。

  在实现ECMAScript 3 的JavaScript 引擎中使用关键字作标识符,会导致"Identifier Expected" 错误。而使用保留字作标识符可能会也可能不会导致相同的错误,具体取决于特定的引擎。

  第5 版对使用关键字和保留字的规则进行了少许修改。关键字和保留字虽然仍然不能作为标识符使用,但现在可以用作对象的属性名。一般来说,最好都不要使用关键字和保留字作为标识符和属性名,以便与将来的ECMAScript 版本兼容。

  除了上面列出的保留字和关键字,ECMA-262 第5 版对eval 和arguments 还施加了限制。在严格模式下,这两个名字也不能作为标识符或属性名,否则会抛出错误。www.9ask.cn/fuzhou/
页: [1]
查看完整版本: JS关键字和保留字汇总