🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
对于复杂的数据的比较是非常耗时的,而且可能无法比较,通过使用 Immutable.js 能够很好地解决这个问题,Immutable.js 的基本原则是对于不变的对象返回相同的引用,而对于变化的对象,返回新的引用 ``` const x = { foo: 'bar' }; const y = x; y.foo = 'baz'; x === y; // true console.log(x) // {foo: "baz"} //虽然`y`已编辑,但由于它是对同一对象的引用`x`,因此此比较返回`true` //Immutable const SomeRecord = Immutable.Record({ foo: null }); const x = new SomeRecord({ foo: 'bar' }); const y = x.set('foo', 'baz'); const z = x.set('foo', 'bar'); x === y; // false x === z; // true // 在这种情况下,由于在变异时返回新的引用`x`, // 我们可以使用引用相等性检查`(x === y)`来验证存储的新值是否与存储`y`的原始值不同`x`。 ```