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

JavaScript中变量名为何被当作对象键名?如何改用变量值为键?

问题解答

为什么参数a会被当成字面量键名?

在JavaScript的对象字面量里,写{a: b}这种形式时,冒号左边的a是作为字符串字面量来处理的,不会去读取变量a里存储的值。这是早期JS语法的规则——对象字面量的键名默认是固定的标识符,不会自动解析变量。

怎么修改让a的变量值作为键名?

有两种实用的写法:

方法1:ES6+ 计算属性名(推荐)

用方括号把变量包裹起来,JS就会解析变量的值作为键名:

function myfunc(a,b)
{
  return { [a]: b };
}

var c = myfunc("key","value");
console.log(c); // 输出 { key: "value" }

方法2:兼容ES5及更早版本的写法

先创建空对象,再通过方括号语法给对象添加属性:

function myfunc(a,b)
{
  var obj = {};
  obj[a] = b;
  return obj;
}

var c = myfunc("key","value");
console.log(c); // 输出 { key: "value" }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:42:03