JavasScript中基本概念关键字和保留字

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

关键字 关键字 关键字 关键字
break do intranceof typeof
case else new var
catch finally return void
continue for switch while
debugger* function this with
default if row
delete in try

ECMA-262还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途,但它们有可能在将来被用作关键字。以下是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

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

保留字 保留字 保留字保留字
implements package public
interface private static
let protected yield

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

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

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

除了上面列出的保留字和关键字,ECMAScript-262第5版对eval和arguments还施加了限制。在严格模式下,这两个名字也不能作为标识符或属性名,否则会抛出错误。

你可能感兴趣的:(JavaScript)