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

JavaScript中如何通过ES6语法动态指定对象的字段名?

如何在ES6中使用变量作为对象动态字段名?

这是ES6对象字面量里一个特别常见的小误区~你现在的写法里,直接写varName: event.detail.value时,JavaScript会把varName当成字符串字面量作为键名,而不是去读取这个变量的实际值。

解决方法很简单,用ES6的计算属性名语法,把变量放在方括号[]里就行,这样方括号内的表达式会被求值,最终用变量的实际值作为字段名:

updateValue(event){
  let varName = event.target.dataset.field;
  this.realFormData = {...this.realFormData , [varName]: event.detail.value};
  console.log(this.realFormData);
}

举个例子,如果varName的值是"username",那这段代码就会给realFormData添加(或覆盖)username字段,值为event.detail.value,控制台输出就会变成{somefield:"someValue" , username: "somevalue"},完全符合你的预期。

核心原理是:计算属性名允许我们在对象字面量中使用动态表达式作为属性名,方括号包裹的内容会被执行并转换成字符串,最终作为对象的键名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:00:50