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

TypeScript枚举键允许含空格吗?为何CRA项目报错?

问题解答

这种用方括号包裹带空格名称的枚举成员写法是合法的TypeScript语法,属于TypeScript支持的计算属性名枚举成员。

  • 版本支持要求:该语法从TypeScript 2.4版本开始正式引入,只要项目使用的TS版本不低于2.4,语法层面就完全合法。
  • create-react-app报错原因及解决:
    • 旧版本的create-react-app内置的TypeScript版本可能低于2.4,或者其默认的Babel转译配置没有适配这个TS语法(CRA默认用Babel处理TS代码,而非直接用tsc编译)。
    • 解决步骤:
      1. 升级项目的TypeScript版本到2.4及以上,执行 npm install typescript@latest --save-dev。
      2. 如果是较老的CRA项目,建议同步升级react-scripts到最新版:npm install react-scripts@latest。
      3. 检查tsconfig.json的compilerOptions,确保target设置不低于ES2015(该配置默认在新版CRA中已满足)。
  • TS Playground正常的原因:Playground默认使用较新的TypeScript版本,且直接通过tsc编译代码,没有经过Babel转译的额外处理,因此能正确识别该语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 03:44:59