1. 程式人生 > 其它 >5、【ES6】之物件優化

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);