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

请问`export default { [PROPERTY](){} }`语法的名称及所属ES版本?

计算属性名(Computed Property Names)详解

嘿,这个语法叫做计算属性名(Computed Property Names),它是ES6(也就是ES2015)引入的特性,专门用来简化动态定义对象属性名的操作。

在ES6之前,如果要给对象设置动态属性名,只能先创建空对象,再通过obj[表达式] = 值的方式添加属性,没法在对象字面量里一步完成。而计算属性名允许你在对象字面量定义中,直接用方括号包裹任意表达式,这个表达式求值后的结果就会作为该属性的名称。

比如你给出的示例:

const SET_SOMETHING = 'SET_SOMETHING';
export default {
  [SET_SOMETHING](){}, 
  // 等价于 'SET_SOMETHING': function() {}
  [SET_SOMETHING]: () => {}, 
  // 等价于 'SET_SOMETHING': () => {}
};

这里的[SET_SOMETHING]就是计算属性名,它会把常量SET_SOMETHING的值(字符串'SET_SOMETHING')作为对象的属性名,不管你用普通函数还是箭头函数作为属性值都适用。

除了对象字面量,计算属性名还能用于类的属性定义、解构赋值等场景,是ES6里非常实用的语法糖,能让动态属性的定义更简洁直观。

内容的提问来源于stack exchange,提问作者西門 正 Code Guy - JingCodeGuy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:30:34