为什么分配给const变量不会导致错误?

时间:2014-04-02 22:14:51

标签: javascript const

演示:http://jsfiddle.net/rmrG9/

代码:

const a = 10
a = 20
alert('a: ' + a)

输出结果为:

a: 10

你能解释为什么语句a = 20没有抛出错误吗?

1 个答案:

答案 0 :(得分:1)

引用文档(MDN):

  

如果您指定,主要浏览器都不会产生任何通知或错误   常数的另一个值。这种操作的返回值是   分配的新值,但重新分配不成功   仅限Firefox和Chrome(至少从版本20开始)。

由于const目前只是一个提案,浏览器供应商可以自由地实施他们认为合适的方式。请注意,标准很可能将const定义为block-scoped(目前它的功能范围是varfunction)。