You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何JavaScript中无需ES6方括号即可用变量作为对象属性名?

ES6对象字面量属性简写语法

这不是对象解构,而是ES6新增的对象字面量属性简写语法,具体说明如下:

  • 当在对象字面量中仅写入变量名时,JavaScript会自动将变量名称作为属性名,变量的取值作为对应属性的值。例如代码中的{x}完全等价于{x: x},前者是后者的语法糖形式。
  • 这种简写和方括号属性名语法({[x]: 3})的核心区别在于:简写语法用变量的名称作为属性名,而方括号语法用变量的值作为属性名。比如你的示例里变量x的值是1,简写后obj的x属性值为1;如果使用方括号语法{[x]: 3},则对象的属性名会是1,对应值为3。
  • 无需显式赋值的原因是,该语法本身就约定了"属性名与变量名一致时,自动复用变量值作为属性值",属于ES6为简化代码而新增的语法特性。

内容的提问来源于stack exchange,提问作者user31782

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:10:36