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

JavaScript动态生成对象字面量键时报错,求解决方法

JavaScript动态生成对象字面量键时报错,求解决方法

嘿,我太懂你找了一小时的崩溃感!你想创建一个键为otherName值、值为otherValue值的对象,但原来的写法语法不对,所以才会一堆报错。

问题出在对象字面量的动态键名写法上——JavaScript里要把变量作为对象的键名,得用ES6计算属性名的语法,也就是把键名放在方括号[]里面,而不是直接用模板字符串包裹。

给你两种正确的写法:

  • 直接用变量作为键名(最适配你的场景):
let temp = { [otherName]: otherValue };
  • 如果需要拼接键名(比如给键加前缀),可以在方括号里用模板字符串:
// 示例:给键名加前缀
let temp = { [`user-${otherName}`]: otherValue };

结合你提供的代码,完整的正确版本应该是这样:

const otherName = document.getElementById(`adminPanelManageUserOtherName`).value;
const otherValue = document.getElementById(`adminPanelManageUserOtherValue`).value;

// 这行是修正后的代码
let temp = { [otherName]: otherValue };

原来的写法{${otherName}: ${otherValue}}之所以报错,是因为对象字面量默认只接受标识符或者固定字符串作为键名,要动态生成键名必须用方括号把变量/表达式包起来,这是ES6之后才支持的标准语法哦~

备注:内容来源于stack exchange,提问作者Simi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 13:34:34