ES6 提出“Same-value equality”(同值相等)算法,用来解决相等判断的问题。Object.is就是部署这个算法的新方法。它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
注意:Object.is(NaN, NaN) // true
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。
换个姿势,再来一次
说白了就是这样子:大圣技能表(万宗归一)
{key1:”金箍棒”,key2:”腾云驾雾”,key3:[”千里眼”,”顺风耳”]}
==
Object.assign({}, {key1:”金箍棒”}, {key2:”腾云驾雾”},{key3:[”千里眼”,”顺风耳”]});
上面的方法非常适合为对象添加属性,添加方法,克隆对象,合并多个对象,为属性指定默认值。
扩展:除了以上对象的新增方法,还有Object.getOwnPropertyDescriptors() ,Object.setPrototypeOf(),Object.getPrototypeOf(), Object.keys(),Object.values(),Object.entries(),Object.fromEntries()等。我们以后会给大家再聊聊这些使用方法