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

TypeScript类型注解运行时报Unexpected token ':'错误如何解决?

问题复现

你写的带TypeScript类型注解的代码如下:

let foo: number = 23;
console.log( foo );

直接运行后抛出如下错误:

// let foo: number = 23;
          ^
SyntaxError: Unexpected token ':'
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1031:15)
    at Module._compile (node:internal/modules/cjs/loader:1065:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
    at node:internal/main/run_main_module:17:47
报错原因

TypeScript是JavaScript的超集,其新增的类型注解、接口等语法不属于原生JavaScript语法规范,Node.js、浏览器等JS运行环境只能直接识别运行标准JS代码,无法解析TS专属语法,直接运行TS文件就会抛出语法错误。

解决方案
  • 方案1:手动编译后运行(适合生产环境)
    首先安装TypeScript编译工具:npm install -g typescript
    对TS文件执行编译:tsc <你的文件名>.ts,执行后会在同级目录生成转译完成的标准JS文件
    用Node.js运行生成的JS文件即可:node <你的文件名>.js
  • 方案2:用ts-node工具直接运行(适合本地开发调试)
    ts-node工具内置TS转译逻辑,无需手动执行编译步骤即可直接运行TS文件,首先安装:npm install -g ts-node
    直接执行TS文件:ts-node <你的文件名>.ts
  • 方案3:前端项目运行
    如果是在浏览器端运行的前端项目,无需手动处理转译,只需给项目使用的构建工具(如Vite、Webpack)配置对应的TS解析插件即可,构建环节会自动将TS代码转译为浏览器可识别的JS代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:45:02