可计算名语法用于使用表达式的返回值作为成员名。
支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。
支持对象字面量的成员:数据属性、访问器属性、方法。
[表达式]
方括号 []
内可以为任何 JavaScript 表达式,表达式的返回值的类型只可以为 字符串类型(包括空字符串) 或者 符号类型。
注意:可计算名语法用于“成员声明”的时候,而不是“访问成员”的时候。
//类
let name = "a";
class C {
[name] = 1;
}
let o = new C();
console.log(o); // { a: 1 }
//对象字面量
let name = "a";
let o = {
[name]: 1
};
console.log(o); // { a: 1 }
//对象字面量解构赋值
let name = "a";
let { [name]: b } = { a: 1 };
console.log(b); // 1
let { [name]: a } = { a: 1 };
console.log(a); // 1
//不支持此语法(注意:当属性名与变量名相同时,不支持属性简写语法)
let { [name] } = { a: 1 };
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/javascriptexp/36656.html