我知道ES6尚未标准化,但很多浏览器目前支持JS中的const
关键字。
在规范中写道:
常量的值不能通过重新赋值进行更改,且常量不能被重新声明。因此,虽然可以声明一个未初始化的常量,但这样做是没有意义的。
当我做类似这样的事情时:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
我看到一切都没问题:`xxx`仍然是`6`,而`yyy`是`[]`。
但是如果我执行`yyy.push(6); yyy.push(1);`,我的常量数组已经被改变了。现在它是`[6, 1]`,顺便说一下,我还是不能用`yyy = 1;`来改变它。
这是一个bug吗,还是我漏掉了什么?我在最新的Chrome和FF29中尝试过。