在 JavaScript ES6 中,为什么你可以做 'const foo = { };' 然后随心所欲地更改对象



在JavaScript ES6中,你可以

const foo = {};

然后仍然随心所欲地更改对象?

foo.bar = 1;
foo.bar++;
delete foo.bar;

因为它是一个"常量"(const(,这意味着对这个对象的引用永远不会改变,但是这个对象里面有什么(所有属性或方法(也是属性((可以以任何方式改变?

const 声明创建对值的只读引用。它 并不意味着它所持有的值是不可变的,只是变量 无法重新分配标识符。例如,如果内容是 一个对象,这意味着对象本身仍然可以被更改。

更多关于 MDN 的 Const

ES6 const 并不表示值是"常量"或不可变的。常量值绝对可以更改。这里唯一不可变的是绑定。

是的

,在 ES6 中,您可以更改对象属性并分配所需的任何值,即使您正在使用

常量

常量在MDN

相关内容

最新更新