一些JavaScript保留字用作变量

时间:2016-01-01 20:52:25

标签: javascript reserved-words

Crockford的 JavaScript:好的部分包含the following text

  

保留字

     

JavaScript中保留以下单词:

abstract boolean break byte case catch char class const continue
 debugger default delete do double else enum export extends false final
 finally float for
 function goto if implements import in instanceof int interface long native new null
 package private protected public return short static super switch synchronized this
 throw throws transient true try typeof var volatile void while with
     

这些单词中的大多数都没有在语言中使用。

     

它们不能用于命名变量或参数。保留时   单词用作对象文字中的键,必须引用它们。他们   不能与点符号一起使用,因此有时需要   改为使用括号表示法:

var method;                // ok
var class;                 // illegal
object = {box: value};     // ok
object = {case: value};    // illegal
object = {'case': value};  // ok
object.box = value;        // ok
object.case = value;       // illegal
object['case'] = value;    // ok

在我安装的解释器中似乎没有保留一些保留字。例如,在Chrome 48(beta)和node.js 0.10.40中,以下代码将成功添加由保留字标识的两个数字。

var abstract = 1;
var native = 1;
abstract + native;
> 2

为什么我可以将这两个保留字用作变量名?我错过了一些至关重要的东西吗?

2 个答案:

答案 0 :(得分:5)

Reserved keywords as of ECMAScript 6

break case class catch const continue debugger default delete do else
export extends finally for function if import in instanceof new return
super switch this throw try typeof var void while with yield

abstract以及nativemore here)被较旧的ECMAScript规范(ECMAScript 1至3)保留为未来关键字。

始终保留:enum

在严格模式代码中找到时保留:

implements package  protected  static  let  interface  private  public
在模块代码中找到它们时保留

await

答案 1 :(得分:0)

保留字(也称为保留标识符或关键字)是一个不能用作标识符的字,例如变量,函数或标签的名称 - 它是"保留使用&#34 34 ;.保留字或关键字在编程语言中具有特殊含义。它们用于标识支持系统的语言中的数据类型,用于标识块和循环等,因此它们的功能已经在系统库中定义。

在代码中包含关键字或保留字,在运行代码时会对其他开发人员以及编译器造成混淆。这就是保留字不允许使用许多编程语言的原因。还有一些其他编程语言具有相似的关键字;例如C,C ++,C#和Java,它们具有共性。

您可以在此处获取最新的Reserved Words in JavaScript列表,其中还包含有用的示例。