🔷 在线运行 TypeScript
不用 npm install,不用配 tsconfig.json。写完 TypeScript 点运行,编译错误和执行结果都显示在右边。
运行环境Sucrase 编译 → 浏览器执行 需要下载约 200 KB 🔒代码只在本机浏览器运行,不上传服务器
输出
还没有输出。写好代码点「运行」,结果会显示在这里。
TypeScript 先在浏览器里编译成 JavaScript(约 200 KB 的编译器),再立即执行,无需下载庞大的 tsc。
三步开始
- 在代码框里写 TypeScript,类型注解、interface、enum、泛型都可以用。
- 点「运行」(或按 Ctrl / ⌘ + Enter):先编译,编译通过就立即执行。
- 如果语法写错了,输出区会给出具体的行号和列号,直接跳到那一行改。
示例代码
点任意一条即可载入到编辑器,改两行再运行,是熟悉语法最快的方式。
TypeScript 教程
常见问题
会做类型检查吗?
不会。本站只做「编译 + 运行」,也就是把类型注解擦掉转成 JavaScript。类型错误(比如把 string 赋给 number)不会被报告。这是刻意的取舍:完整的 tsc 有 9 MB,会拖慢加载;而初学者最需要的是先看到代码能跑起来。
那和直接写 JavaScript 有什么区别?
区别在语法:你可以用 interface、type、enum、泛型、访问修饰符、可选属性、as 断言这些 TS 独有语法,本站会正确编译它们。运行时行为与 JavaScript 一致。
支持哪些 TypeScript 语法?
interface / type / class(含 private、public、readonly、抽象类)/ enum(含字符串枚举)/ 泛型 / 可选与只读属性 / 非空断言 ! / 类型断言 as / 元组 / 联合与交叉类型 / 参数属性。不支持装饰器(写在方法上的会被悄悄删掉,写在类上的直接语法报错)、namespace(整块会被删掉)和 .d.ts 声明文件。
编译报错信息怎么看?
形如 Unexpected token, expected "," (3:15) 表示第 3 行第 15 列出错。本站会把它翻译成中文提示并标出具体位置。
能 import 第三方 npm 包吗?
不能。沙箱里没有模块解析,只能用自己写的代码和 JavaScript 内置对象。
枚举 enum 编译成什么了?
编译成一个立即执行函数,把名字和数字双向映射挂到对象上,和 tsc 的行为一致。
换一门语言
- Python 打开网页就能写 Python 并立刻看到结果。代码在你自己的浏览器里运行,不上传服务器,没装任何环境也不会报错。 Pyodide · CPython 3.14 · 约 13 MB 打开 Python 运行器 →
- JavaScript 不用装 Node.js,不用配环境。写完点运行,console.log 的结果立刻出现在右边。 浏览器原生引擎 · 0 KB 打开 JavaScript 运行器 →
- SQL 浏览器里跑真正的 SQLite 数据库。自带中文示例数据,写完查询点运行,结果直接以表格显示。 SQLite 3 · sql.js · 约 700 KB 打开 SQL 运行器 →