ES6 之 对象的扩展

Posted houfee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 之 对象的扩展相关的知识,希望对你有一定的参考价值。

属性的简洁表示法

    let book = ‘234‘;
    let good = ‘432‘;
    let obj01 = {
      book,
      good
    }
    console.log(obj01);

方法名的name属性

.....

 

Object.is()

    // Object.is() 用来比较俩个值是否严格相等,与 === 行为基本一致
    // == 会自动转化数据类型
    // === NaN不等于 NaN 以及 +0 和 -0
    console.log(Object.is(‘foo‘,‘foo‘)); // true
    console.log(Object.is({},{})); // false
    console.log(Object.is(+0,-0)); // false
    console.log(Object.is(NaN,NaN)); // true
    // +0 不等于 -0 NaN 等于自身

 

Object.assign()

    // Object.assign() 方法将源对象(source)的所有可枚举的属性复制到目标对象上
    let target = { a: 1 }
    let source1 = { b: 2 }
    let source2 = { c: 3 }
    let a = Object.assign(target, source1, source2) // {a: 1, b: 2, c: 3}
    console.log(a);
    // 同名属性 ,后面的属性 会 覆盖前面的属性
    // 如果只有一个参数,Object.assign会直接返回该参数
    // 如果参数不是对象,则会先转成对象,然后返回
    let target2 = { a: 1 }
    let b = Object.assign(target2, undefined) // {a: 1}
    console.log(b);
    let target3 = { a: 1 }
    let c = Object.assign(target3, null) // {a: 1}
    console.log(c);

 

ES6 属性的遍历

    // for ... in 
    // Object.key(obj) // 返回一个数组,包括对象自身(不含继承)的所有可枚举属性
    // Ojbect.getOwnPropertyNames(obj) // 返回一个数组
    // Ojbect.getOwnPropertySymbols(obj) // 返回一个数组
    // Reflect.ownKeys(obj) // 返回一个数组

 

以上是关于ES6 之 对象的扩展的主要内容,如果未能解决你的问题,请参考以下文章

ES6扩展——函数扩展之剩余函数

ES6 之函数扩展和对象扩展

ES6系列_4之扩展运算符和rest运算符

ES6新语法之---对象字面量扩展模板字符串

ES6 之 对象的扩展

《深入理解ES6》之扩展对象的功能性