删除或覆盖javascript Harmony/ECMAScript 6中的const变量

Mol*_*ine 6 javascript ecmascript-6

阅读和修补ECMAScript 6提供的新功能.

用于编写常量变量的新"const"语句是一个非常好的功能,它为已经有趣的更新添加了功能.

变量创建为只读,一旦声明它就不能被覆盖.

编辑:例如,在控制台上测试代码时会出现相应的问题.运行包含const定义两次的脚本会导致错误,从而导致执行失败.

如果我想发布该关键字怎么办?有没有办法取消设置或删除变量?

我在这篇文章中读到,实际上是一个影响var语句的问题,因为创建变量的环境在许多抽象层次上是不同的.

ECMAScript 6打算如何解决这个问题?

lys*_*ing 6

无法重新定义使用声明的变量const.

但是,const是块范围的.要解决您描述的问题,在控制台中测试某些代码时,您只需将脚本包装在:{}:

{ const x = 1; }
{ const x = 2; }
Run Code Online (Sandbox Code Playgroud)

请注意,许多已经支持该const关键字的浏览器尚不支持块范围常量,因此上述示例将在Chrome和Firefox中失败(有关详细信息,请参阅Kangax的兼容性表).