微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

5、【ES6】之对象优化

1、获取对象的键、值、键-值

    // const person={
    //       name:'jack',
    //       age:21,
    //       language:['java','js','css']
    // }
    // console.log(Object.keys(person)); //获取对象的所有key
    // console.log(Object.values(person)); //获取对象的所有value
    // console.log(Object.entries(person)); //获取对象的所有map

2、将对象进行合并成一个新的对象

    // const target={a:1};
    // const source1={b:2};
    // const source2={c:3};
    // //想要获取这样一个对象:{a:1,b:2,c:3}
    // Object.assign(target,source1,source2);
    // console.log(target);

3、声明对象简写

    以前给对象的属性赋值
    // const name='jack';
    // const age=18;
    // const p1={name:name,age:age};
    // console.log(p1);

  现在给对象的属性赋值

    // const p2={name,age}
    // console.log(p1);

 

4、对象的函数简写

  以前
    // let person={
    //       name:'jason',
    //       set:function (food){
    //         console.log(this.name+"在吃"+food);
    //     }
    // }
    // person.set("苹果");
    现在    
 // let person={
    //     name:'jason',
    //     eat(food){
    //       console.log(this.name+"在吃"+food);
    //     },
    //     eat2:(food)=> console.log(this.name+"在吃"+food)
    // }
    // person.eat("苹果");
    // person.eat2("香蕉");
    //eat2方法名字丢失了, 在箭头函数中使用this调用属性将会失效,解决方案:对象.属性
    // eat2:(food)=> console.log(person.name+"在吃"+food)

 

5、对象扩展运算符

    5.1.拷贝对象(深拷贝)
    // let p1={name:'lebron',age:18};
    // let p2={...p1};
    // console.log(p2);

  5.2.合并对象

    let name={name:'java'};
    let age={age:18};
    let p={name:'python'};
    p={...name,...age};
    console.log(p);

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐