我已经理解了javascript的可变性和可变对象的主要思想,但现在我不会简化我的知识。
例如,我们需要存储具有许多属性的对象。我们有两种变体:
创建可变复杂的js对象,而不是改变它。
https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800
然后所有旧版const object = { ... };
const newObject = Object.assingn({}, object, {someProp: newValue});
都不等于object
。
通过一些库创建Immutable对象,例如使用Immutable JS
newObject
我们将得到完全相同的结果,对象将不相等。
我已经知道Immutable没有对象的深层复制,并且所有未修改的数据都可以通过链接重复使用 - 这是主要的想法吗?不可变的js变体会更加性能和更快吗?
或者它只是在语义上更好,更好的是没有能力改变对象?