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

JavaScript中如何将已有常量作为另一个Object对象的键使用

问题原因

你当前的写法存在两个问题:

  • 语法错误:对象声明里多写了一层多余的左大括号,不符合JS对象字面量的语法规范
  • 键名解析逻辑不符合预期:直接写URL_QUERY_PARAMS.groupId作为对象键时,JS会默认把它当作普通字符串"URL_QUERY_PARAMS.groupId"处理,不会解析常量对应的实际值

最优解决方案

使用ES6推出的计算属性名语法,把需要动态取值的键名表达式用方括号[]包裹即可,该语法会先计算括号内的表达式结果,再将结果作为对象的键名使用。

修正后的代码如下:

export const URL_QUERY_PARAMS = Object.freeze({
    parentId: "parentId",
    groupId: "groupId"
})

const queryParam = {
    [URL_QUERY_PARAMS.groupId]: "test1",
    "nodePath": "test2"
}

补充说明

计算属性名是ES2015标准的原生语法,所有现代浏览器、Node.js v6及以上版本都直接支持,是目前实现动态对象键名最简洁、符合规范的实现方式,没有额外性能开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:45:03