编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 名词解释 / TypeScript

TypeScript

TypeScript(简称 ts)是微软推出的一门语言,可以看作 JavaScript 的超集:任何合法的 JS 代码都是合法的 TS 代码,它在此基础上增加了一套静态类型系统。你用 interfacetype 描述数据的"形状"(有哪些字段、字段是什么类型),编译器会在你写代码时检查类型是否匹配,提前发现拼写错误、字段缺失、参数传错等问题。

它的核心工作方式是"编译期检查、运行时擦除":TS 代码经过编译器(tsc)或 esbuild、swc 等工具转换成普通 JavaScript 后才能运行,而所有类型标注在这一步会被完全删除。也就是说浏览器和 Node 执行的始终是纯 JS,类型只在开发阶段为你和编辑器(提供自动补全、跳转、重构)服务。常见用法包括:

最常见的误区是把类型当成运行时校验:因为类型会被擦除,TS 不会在运行时阻止一个不符合 interface 的接口返回值进来,校验外部数据仍需 zod 等库或手写判断。本站的 json-to-ts 工具就是帮你把一段 JSON 直接转成对应的 interface 定义,省去手敲类型的麻烦。

常见问题

TypeScript 和 JavaScript 是什么关系?浏览器能直接跑 TS 吗?
TS 是 JS 的超集,多了一套静态类型。浏览器和 Node 不能直接运行 TS,必须先用 tsc/esbuild/swc 等编译成 JS,类型标注在这一步会被删掉。
interface 和 type 有什么区别,该用哪个?
两者大多数场景可以互换,都用来描述类型。interface 主要用于对象结构且支持声明合并与继承;type 更灵活,能表达联合类型、交叉类型、映射类型等。描述对象用哪个都行,需要联合/工具类型时用 type。
加了 interface,为什么后端返回的错误数据还是没被拦住?
因为类型只在编译期检查、运行时被擦除,TS 不会校验实际的运行时数据。接口返回、用户输入等外部数据需要用 zod、手写判断等方式在运行时单独校验。

相关工具

相关名词