JavaScript中使用环境变量作为对象键的语法错误解决方法
解决JavaScript中用环境变量作为对象键的语法错误问题
我之前也踩过这个坑,你遇到的SyntaxError: Unexpected token .是因为JavaScript的对象字面量语法规则导致的——当你想用表达式(比如环境变量、变量)作为对象的键时,不能直接写在冒号前面,得用ES6引入的计算属性名语法才行。
正确写法1:使用计算属性名(推荐)
直接把表达式放在方括号[]里,JS会自动求值这个表达式,将结果作为对象的键:
const plop = { [process.env.PLOP]: "plop" };
这个语法是ES6及以上版本支持的,现在绝大多数环境都兼容,是最简洁的写法。
正确写法2:先创建对象再赋值(兼容ES5及更早版本)
如果你的运行环境不支持ES6,也可以先初始化一个空对象,再通过方括号语法添加属性:
const plop = {}; plop[process.env.PLOP] = "plop";
额外小提示
记得确保process.env.PLOP确实有值,不然键会变成undefined,可能不符合你的预期。可以加个默认值兜底:
const key = process.env.PLOP || "default_plop_key"; const plop = { [key]: "plop" };
内容的提问来源于stack exchange,提问作者Jeremad
相关产品推荐
相关产品推荐

