Object 对象扩展
- 对象字面量扩展提供了一些简洁的语法来定义对象属性和方法
属性扩展
1. 计算属性
- 计算属性允许你使用表达式作为属性名
let propName = 'age';
let person = {
name: 'Alice',
[propName]: 30
};
logd(JSON.stringify(person)) // 输出: { name: 'Alice', age: 30 }
2. 简写属性
- 如果属性名和变量名相同,可以使用简写语法
let name = 'Alice';
let age = 30;
let person = { name, age };
logd(JSON.stringify(person)) // 输出: { name: 'Alice', age: 30 }
3. 简写方法
- 在对象字面量中定义方法时,可以省略
function关键字
let person = {
name: 'Alice',
greet() {
return `Hello, ${this.name}!`;
}
};
logd(person.greet()); // 输出: Hello, Alice!
4. 字符串键简写方法
- 即使方法名是字符串,也可以使用简写语法
let person = {
name: 'Alice',
'greet'() {
return `Hello, ${this.name}!`;
}
};
logd(person.greet()); // 输出: Hello, Alice!
5. 计算简写方法
- 可以使用计算属性名来定义方法
let methodName = 'greet';
let person = {
name: 'Alice',
[methodName]() {
return `Hello, ${this.name}!`;
}
};
logd(person.greet()); // 输出: Hello, Alice!