1.Obj.is()
之前es比较两个值是否相等,只有'=='和'==='两个运算符,使用'=='时会自动转换数据类型,即1==ture;而使用'==='时NaN不等于自身,即NAN===NAN会renturn false;Object.is
就是部署这个算法的新方法。它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
2.Obj.assign()
用户目标对象的合并;第一个参数是目标对象,后面的参数是源对象,可以有多个;
注意点:1.assign()方法是浅拷贝。 2.对于嵌套的多个对象,遇到同名属性将会进行覆盖。3.可以处理数组,但会将数组视为对象。4.assign()只能进行值的复制,如果要复制的是一个函数,将会得到结果后再进行复制。
Object.assign(target, source1, source2);
3.obj.getOwnPropertyDescriptors()
该方法返回对象所有的自身属性的描述对象
4。Obj.setPrototypeOf()和Obj.getPrototypeOf()
分别用于设置和获取某个对象的原型对象
5.Obj.keys()、Obj.values()、Obj.entries()
返回一个数组,分别用于返回属性的键名、值、以及键值对
6.Object.fromEntries()
是Obj.entries()的逆操作,将一个键值对数组转换为一个对象;该方法的主要目的,是将键值对的数据结构还原为对象,因此特别适合将 Map 结构转为对象。