今天说一下对象新增的方法;
Object.is();
用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
但是这里有个注意点;
+0不等于-0,NaN等于自身。
object.fromEntries()
该方法是Object.entries()的逆操作。用于将一个键值对数组转为对象
该方法的主要目的是将键值对的数据结构还原为对象,特别适合Map结构转为对象;
object.assign()
前面已经讲到过这个方法了,今天仔细说一下
此方法用于对象的合并,将源对象的所有可枚举属性,复制到目标对象上。
如果目标对象与源对象有同名属性,或者多个源对象有同名属性,则后面的属性会覆盖前面的属性;
如果只有一个参数,则会直接返回参数。
如果参数不是对象,则会先转为对象
但是undefined和null 无法转为对象,当他们作为参数是会报错。
但是非对象参数出现在源对象位置(就是不是首参数),那么处理规则就不同了,先将他们转为对象,如果不能转为对象就会跳过,所以就不会报错。
其他类型的值(字符串,布尔值,数值)不在首参数,也不会报错,但是字符串会以数组形式,拷贝到目标对象,其他值不会。
Object.assign()可以用来处理数组,但是会把数组视为对象。
网友评论