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

TypeScript中使用enum作为映射类型key出现解析错误怎么解决?

问题根因

你的TypeScript映射类型语法本身符合官方规范,[key in 枚举类型]: 值类型 是标准合法写法,语法没有错误。
报错 parsing error: Unexpected token, expected "]" 是ESLint解析器不支持TypeScript语法导致的:默认ESLint使用的解析器只能识别标准JavaScript语法,无法识别TypeScript特有的映射类型、枚举等语法,因此会将in关键字判定为非法字符抛出解析错误。

你可以先执行tsc命令验证TypeScript本身编译是否正常,如果编译无报错,即可确认是ESLint配置问题。

修复步骤
  • 安装TypeScript对应的ESLint依赖:
npm install @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev
  • 修改项目根目录下的ESLint配置文件(.eslintrc、.eslintrc.js或.eslintrc.json),指定使用TypeScript解析器:
{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended"
  ]
}
  • 重启VSCode的ESLint服务:按下Ctrl+Shift+P(Mac系统为Cmd+Shift+P),输入并执行ESLint: Restart ESLint Server,重启后报错即可消失。

补充说明

仅TypeScript 2.9以下的极低版本才会不支持枚举作为映射类型的键,目前绝大多数项目都使用3.0以上版本的TypeScript,该场景出现概率极低,优先排查ESLint配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:36:03