美文网首页
ES6新特性6:对象的扩展

ES6新特性6:对象的扩展

作者: 泰然自若_750f | 来源:发表于2019-12-30 10:09 被阅读0次

ES6对对象的进行了扩展。

1:属性的简洁表示法

    方法也可以简写


2:Object.is()

用途:比较两个值是否相等。

ES5 中 相等运算符(==)和严格相等运算符, == 和 ===来判断 都有一定的局限性。 == 会自自动转换为数据类型,而===对于NaN不等于自身,+0和-0 也不能正常比较。看下图所示

使用ES5 的Object.defineProperty 可实现Object.is 功能。


3:Object.assign()

用途:用于对象合并,将对象中的可枚举属性,复制到目标对象。

参数:第一个是目标对象,后面参数是源对象。

如果合并对象中存在同名属性,则后面的属性会覆盖前面的对象。

只有一个参数,Object.assign会直接返回该参数。

参数不是对象,则会先转成对象,然后返回对象类型,但是null和 undifed 无法转换为对象,会报错。

Object.assign方法实行的是浅拷贝,而不是深拷贝

如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用。


相关文章

网友评论

      本文标题:ES6新特性6:对象的扩展

      本文链接:https://www.haomeiwen.com/subject/fubqoctx.html