在JavaScript中,计算属性名(Computed Property Names)是ES6引入的一种新语法,允许你在对象字面量中使用表达式作为属性名。
这种语法在对象字面量中使用方括号[]来包围一个表达式,这个表达式的结果会被用作属性名。以下是一个示例:
let propName = "name";
let obj = {
[propName]: "John Doe"
};
console.log(obj.name); // 输出:"John Doe"
在这个例子中,[propName]是一个计算属性名,它的值是propName变量的值,也就是字符串"name"。所以,obj对象的属性名是"name",属性值是"John Doe"。
这种语法非常灵活,你可以使用任何返回字符串的表达式作为属性名,包括函数调用、算术表达式等。例如:
let obj = {
["name" + "1"]: "John Doe"
};
console.log(obj.name1); // 输出:"John Doe"