1. Object.is():
它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致,例如:
Object.is(+0, -0) // falseObject.is(NaN, NaN) // true
2. Object.assign():
该方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target),Object.assign方法的第一个参数是目标对象,后面的参数都是源对象,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性:
const target = { a: 1, b: 1 };
const source1 = { b: 2, c: 2 };
const source2 = { c: 3 };
Object.assign(target, source1, source2);target // {a:1, b:2, c:3}
注意:Object.assign方法实行的是浅拷贝,而不是深拷贝。也就是说,如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用
Object.assign方法常见用途:
为对象添加属性
为对象添加方法
克隆对象
合并多个对象
为属性指定默认值