5、【ES6】之物件優化
阿新 • • 發佈:2022-04-14
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);