跳到主要内容
项目详情

TypeScript 是一种构建于 JavaScript 之上的强类型编程语言,为 JavaScript 增加类型语法,并加强代码与编辑器之间的结合。它可以在编辑器中更早发现错误,提供自动补全、接口和 JSX 等能力,同时理解已有的 JavaScript 代码并通过类型推断改善工具支持。TypeScript 代码会转换为 JavaScript,而 JavaScript 可以运行在浏览器、Node.js、Deno、Bun 以及应用中,因此项目可以逐步采用 TypeScript,而不是一次性重写全部代码。

核心功能

编辑器中的错误检查

TypeScript 会在编辑器中检查代码中的问题,并在代码运行前给出诊断信息。官网示例中,访问对象不存在的 name 属性时,编辑器会提示该属性不存在;在 JavaScript 示例中,orr 未定义以及对数组调用 trim 也会被标记出来。通过这些检查,开发者可以在编辑阶段发现拼写错误、属性错误和类型不匹配问题。

类型语法与类型推断

TypeScript 为 JavaScript 增加类型语法,也能够理解 JavaScript 并使用类型推断提供工具支持。示例中的 compact 函数将参数声明为 string[],返回值使用 slice 截取数组内容;类型信息帮助编辑器判断可用的属性和方法。官网同时强调,类型推断可以在不增加额外代码的情况下提供工具支持。

描述对象和函数的形状

TypeScript 可以描述代码中对象和函数的结构,使编辑器能够显示相关文档和问题。官网示例通过 interface Account 声明 iddisplayNameversion 字段的类型,再让 welcome 函数接收 Account 类型的用户对象。它还支持使用联合类型表达有限取值,例如把 Result 定义为只能是 passfail

JavaScript、JSDoc 与 TypeScript 渐进采用

TypeScript 不要求项目立即全部改写。官网展示了三种逐步改进 JavaScript 的方式:直接使用 JavaScript 文件、在文件中加入 // @ts-check、使用 JSDoc 描述参数,或者将代码写成 TypeScript 文件。页面明确说明,可以逐步把类型应用到 JavaScript 项目中,每一步都会改善编辑器支持并改进代码库。

类型移除与 JavaScript 输出

TypeScript 文件中的类型信息会在转换为 JavaScript 时被移除。官网用 Result 类型和 verify 函数展示了这一过程:TypeScript 文件包含 result: Result,转换后的 JavaScript 文件中只保留函数逻辑和参数 result。页面将这一过程概括为“TypeScript becomes JavaScript via the delete key”,说明类型语法服务于开发阶段,而最终输出仍是 JavaScript。

使用方式

TypeScript 官网提供浏览器中的 Playground,可直接尝试代码;页面也提供在线试用或通过 npm 使用的入口,并提供下载和安装方式。使用场景包括 JavaScript 文件中的 @ts-check、通过 JSDoc 增加类型信息,以及直接编写 TypeScript 文件。官网还提供 Handbook 用于学习语言。正文没有说明是否需要注册,也没有提到需要自备模型 Key、API 或导入导出功能。

适用人群与场景

使用 JavaScript 进行开发、希望在编辑器中更早发现错误的开发者,可以使用 TypeScript 检查不存在的变量、属性和方法。需要维护对象与函数结构的开发者,可以用接口、联合类型和类型声明描述代码。已有 JavaScript 项目的团队可以从 @ts-check 或 JSDoc 开始,再逐步采用 TypeScript。需要让代码运行在浏览器、Node.js、Deno、Bun 或应用中的开发者,可以使用 TypeScript 编写代码并转换为 JavaScript。

注意事项

TypeScript 最终会转换为 JavaScript,类型信息不会保留在输出的 JavaScript 文件中。官网示例显示,类型检查可以发现问题,但页面没有说明运行时会保留这些类型检查。正文也没有提供价格、免费额度或付费档位信息。

编辑器错误检查在编辑阶段检查不存在的变量、属性和方法,并给出诊断信息。
类型推断理解 JavaScript 并通过类型推断提供编辑器工具支持。
接口与联合类型使用接口描述对象和函数结构,并用联合类型限制可用取值。
渐进式采用支持 JavaScript、@ts-check、JSDoc 与 TypeScript 文件等逐步采用方式。
转换为 JavaScript移除类型信息并生成可在多种 JavaScript 环境中运行的代码。

用户评论 (0)

还没有用户评论

成为第一个分享使用体验的人

查看更多

TypeScript 截图

官网首页截图

写评论

分享你的使用体验,至少 10 个字。评论可以发多条,打分在右侧卡片单独进行。

还需 10 个字 · 0 / 500