This question already has answers here:
Why can I change value of a constant in javascript
(9个答案)
JavaScript const Keyword
(8个答案)
5年前关闭。
使用JavaScript ES6,我感到惊讶:
已验证。为什么是这样?我本来以为
您可以做的是使用
(9个答案)
JavaScript const Keyword
(8个答案)
5年前关闭。
使用JavaScript ES6,我感到惊讶:
const a = {};
a.foo = 'bar';
a.foo = 'car';
已验证。为什么是这样?我本来以为
const
意味着您无法更改a
空对象并应用新属性。更进一步,我还假设您一旦设置了a
属性就无法更改它的值。 最佳答案
只有变量分配是恒定的。引用的任何对象或数组均保持可变。
const a = {one: 1};
a.three = 3; // this is ok.
a = {two: 2}; // this doesn't work.
您可以做的是使用
Object.freeze
:const a = {one: 1};
Object.freeze(a);
a.three = 3; // silently fails.
// a is still {one: 1} here.
关于JavaScript ES6 `const a = {}`是可变的。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34983693/
10-16 15:43