节点const变量也可以更改

E_J*_*ovi 0 javascript node.js

我想保护对象并尝试const如下

const foo = {'test': 'content'}
foo    // {test: 'content'}

foo['test'] = 'change'
foo    // {test: 'change'}
Run Code Online (Sandbox Code Playgroud)

我不知道如何正确保护像字典这样的对象,任何人都可以帮助我吗?

谢谢你的时间.

问候.

Ama*_*dan 6

正如Rayon Dabre所说,const意味着变量的值无法改变.foo示例中变量的值保持不变:它仍然是同一个对象.该对象的属性发生了变化.

为了使对象本身不可更改,您可以使用Object.freeze:

var foo = {'test': 'content'};
Object.freeze(foo);
foo.test = 'change';
foo.test
// => "content"
Run Code Online (Sandbox Code Playgroud)