对象相关的扩展
# 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);
}
}