节点中的不可变对象应声明为let,var或const?有什么区别吗?

时间:2019-01-12 11:09:46

标签: node.js immutability

以下代码构建了一个不变的对象:

Object.freeze({ "foo" : "bar" })

使用进行创建时是否有区别

  • var
  • const

1 个答案:

答案 0 :(得分:1)

不同之处在于

const foo = Object.freeze({ "foo" : "bar" });

以后无法重新分配

foo = 'baz';

varlet可以。

不可移植性与重新分配正交。可能需要重新存储不可变对象的变量,可能需要将可变对象存储在const中。