ES6 - 对象

215 阅读1分钟

对象的简洁语法

  • 之前的对象语法:
    let name = 'murphy';
    let age = '18';
    let json = {
        name: name,
        age: age,
        showName: function(){
            console.log('this.name');
        }
    }
    
  • ES6对象的简洁语法:
    let name = 'murphy';
    let age = '18';
    let json = {
       name,
       age,
       showName(){     //需要注意这个地方不要用箭头函数
           console.log('this.name');
       }
    }
    

ES6对象的新增特性

  1. Object.is('a','a');用于比较对象是否相等,与==,===相比,解决了NaN!=NaN; +0 == -0等问题;
  2. Object.assign(target,source1,source2,..)合并对象,后面的对象会覆盖前面的对象,用途举例:
    • 用于AJAX中用户自定义options 与defaults 合并;
    • 用复制对象:obj2 = Object.assign('',obj1);
  3. 与数组类似,对象中也添加了Object.keys(), Object.entries(),而且对象还有Object.values:常用于 for...of循环遍历;
  4. 扩展运算符...obj 也可以用于对象:
    • 剩余参数let {x,y,...z} = {x:1,y:2,a:3,b:4,c:5};
    • 对象复制let json2 = {...json1};