当前位置:  开发笔记 > 编程语言 > 正文

一些JavaScript保留字用作变量

如何解决《一些JavaScript保留字用作变量》经验,为你挑选了1个好方法。

Crockford的JavaScript:好的部分包含以下文本.

保留字

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

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



1> Oxi..:

从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

abstractnative(更多在这里)被保留作为年长的ECMAScript规范未来的关键字(ECMAScript中1至3).

永远保留: enum

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

implements package  protected  static  let  interface  private  public

在模块代码中找到它们时保留: await

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有