JavaScript语言的可计算名

可计算名语法用于使用表达式的返回值作为成员名。

支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。

支持对象字面量的成员:数据属性、访问器属性、方法。

[表达式]

方括号 [] 内可以为任何 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

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年4月3日 16:58
下一篇 2025年4月3日 17:02

相关推荐

  • JavaScript事件处理程序(又称为事件监听器)详解

    1.概念 负责处理或响应事件而调用的函数称为 事件处理程序(又称为 事件监听器)。 概念 示例 事件类型(又称为 事件名称) “click” 事件目标 <button> 事件处理程序属性名 onclick 事件处理程序(又称为 事件监听器) myFunction() 事件对象 event 2.HTML事件处…

    JavaScript经验 2023年5月11日
    09080
  • JavaScript语言的解构(Destructuring)语法

    可迭代对象解构是按位置的,而对象字面量解构是按命名的。 注意:解构语法是并行的。 1.可迭代对象解构 1.1用于变量赋值 左侧的变量还支持占位语法。 注意:左侧不是稀疏数组语法,是占位语法。 1.2用于函数形参 具体参考“用于变量赋值”章节。 2.对象字面量解构 2.1用于变量赋值 2.2用于函数形参 具体参考“用于变…

    JavaScript经验 2025年4月3日
    01270
  • JavaScript语言的展开(Spread)语法

    1.展开可迭代对象 1.1用于变量赋值 1.2用于函数实参 具体参考“用于变量赋值”章节。 2.展开对象字面量 2.1用于变量赋值 2.2用于函数实参 JavaScript 语言不支持用于函数实参。

    JavaScript经验 2025年4月3日
    01190

发表回复

登录后才能评论