为什么我可以在javascript中更改常量对象
2022-08-30 01:42:26
我知道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;
这是一个错误,还是我错过了什么?我在最新的chrome和FF29中尝试过