Object.freeze:不可变对象

发布于:2021-01-31 00:00:00

0

62

0

JavaScript 对象 可变性

我最喜欢的JavaScript部分之一是对象的可变性。我喜欢MooTools和类似的框架可以修改本机原型,以使用我们知道语言需要的功能来增强它们。实际上,我认为MooTools推动了网络的发展。

但是,在某些情况下,您不希望对象是可修改的。您不希望更改,添加或删除现有属性的值。那就是Object.freeze 可以提供帮助的地方-Object.freeze 您可以创建可以信任的不可变对象!

const obj = Object.freeze({     x: 1,     y: 2 }); // None of these do anything obj.x = 8; // { x: 1, y: 2} delete obj.x; // { x: 1, y: 2} obj.z = 3;  // { x: 1, y: 2}

Object.freeze是JavaScript的受欢迎补充,也是必需的。如果您要保护其完整性的对象,则必须具有不变性。  Object.seal 提供类似的功能而没有冻结值的功能,因此,Object.freeze 当您要锁定对象时,这是您的最佳选择!