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

使用反引号作为对象键时出现TS1136错误的原因及修复方法

修复TypeScript动态属性名引发的TS1136等语法错误

你遇到的问题是因为在对象字面量中使用动态属性名时,没有遵循TypeScript/JavaScript的计算属性名语法规则。直接写${str}: 'myValue'会被解析器误判为无效语法,从而抛出TS1136等一系列错误。

修复方案

将动态属性名用方括号[]包裹,这是ES6+标准的计算属性名写法,TypeScript完全支持:

const str = 'myKey'
const obj = {
    [`${str}`]: 'myValue', // 用方括号包裹模板字符串
};
console.log(obj);

错误原因解析

原来的代码没有用方括号包裹动态属性名,TypeScript解析器无法识别${str}是属性名,反而把它当成了独立的表达式,后续的: 'myValue'就变成了无效的语法结构,因此触发了多个语法错误。

验证结果

修复后的代码编译运行后,会输出预期结果:

{ myKey: 'myValue' }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:20:28