对象相关的扩展

# 1. 对象属性简写

在ES6中允许我们在设置一个对象的属性的时候不指定属性名。

  • 省略的是属性名而不是值
  • 值必须是一个变量
//  不使用ES6

const name='Ming',age='18',city='Shanghai';
        
const student = {
    name:name,
    age:age,
    city:city
};
console.log(student);//{name: "Ming", age: "18", city: "Shanghai"}

对象中必须包含属性和值,显得非常冗余

// 使用ES6
const name='Ming',age='18',city='Shanghai';
        
const student = {
    name,
    age,
    city
};
console.log(student);//{name: "Ming", age: "18", city: "Shanghai"}

对象中直接写变量,非常简洁,直观。

对象属性简写与解构赋值一起使用

let fn = ()=> { 
    return {
        x:1,
        y:2,
        z:3
    }
}

let {x , y , z} = fn();  // fn执行,返回一个对象, 然后被解构出来

console.log(x);  // 1 
console.log(y);  // 2
console.log(z);  // 3

对象中的方法简写

let obj = {
    name:'cht',
    say() {
        console.log(this.name);
    }
}

对象中的支持异步方法

let obj = {
    name:'cht',
    * say() {
        console.log(this.name);
    }
}
Last Updated: 1/31/2021, 10:53:10 PM