ES6新特性6:对象的扩展

ES6对对象的进行了扩展。

1:属性的简洁表示法

    方法也可以简写


2:Object.is()

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

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

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


3:Object.assign()

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

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

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

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

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

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

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


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.属性的简洁表示法 允许直接写入变量和函数 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量...
    雨飞飞雨阅读 1,147评论 0 3
  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。 上面代码表明,ES6允许在对象之中,直接写...
    oWSQo阅读 523评论 0 0
  • 一、属性的简介表示法 ES6允许直接写入变量和函数作为对象的属性和方法。允许在对象中只写属性名,不写属性值。这时,...
    了凡和纤风阅读 344评论 0 0
  • 1.属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 const fo...
    Masami_9e88阅读 351评论 0 0
  • 今天,我要做青饺。 为了确保卫生,首先,要洗好手。 做青饺很简单,首先拿起深绿色的青,再把青搓成...
    舒琪凯阅读 679评论 0 1