1,属性值简写
let name = '王力宏'
let person = {
name
}
console.log(person); //{name: '王力宏'}
function makePerson(name) {
return {
name
};
}
let person2 = new makePerson('霆锋') //{name: '霆锋'}
console.log(person2);
2,可计算属性,动态属性赋值
const ageKey = 'age'
let person3 = {}
person3[ageKey] = 30
console.log(person3); //{age: 30}
const nameKey = 'name';
const age2Key = 'age';
const jobKey = 'job';
let uniqueToken = 0;
function getUniqueKey(key) {
return `${key}_${uniqueToken++}`;
}
let person4 = {
[getUniqueKey(nameKey)]: 'Matt', [getUniqueKey(age2Key)]: 27,
[getUniqueKey(jobKey)]: 'Software engineer'
};
console.log(person4); // { name_0: 'Matt', age_1: 27, job_2: 'Software engineer' }
3,函数名简写
let car = {
name: '老王',
getName: function () {
console.log(this.name);
}
}
car.getName()
let car2 = {
name: '老王2',
getName(){
console.log(this.name);
}
}
car2.getName()
const methodKey = 'getName'
let car3 = {
name: '老王3',
[methodKey]() {
console.log(this.name);
}
}
car3.getName()