TypeScript
名词 · 编程语言
Microsoft 开发的 JavaScript 类型化超集,为语言添加了可选的静态类型系统——能够在编译时而非运行时检测错误,大幅减少生产环境中的 Bug 并提升大型项目的可维护性。
开源编程语言,可转译为标准 JavaScript,兼容所有浏览器和 Node.js 环境——提供接口、泛型、枚举和装饰器等高级功能,同时保持与现有 JavaScript 生态系统的完全兼容性。
被 Angular、Google、Microsoft 和 Slack 内部项目采用的行业标准,TypeScript 已成为追求代码安全性、IDE 自动补全提升和复杂代码库协作便利性的专业开发团队的首选。
要用 TypeScript 编程,首先通过 `npm install -g typescript` 安装编译器,然后创建扩展名为 `.ts` 的文件。您可以编写增加了类型注解的标准 JavaScript:`function greet(name: string): string return 'Hello ' + name; `。然后使用 `tsc` 编译生成等效的 JavaScript 文件。VS Code 等现代 IDE 提供原生集成,支持自动补全和实时错误检测,大幅加速开发效率。
TypeScript 特别推荐用于涉及多个开发者的大型项目、可靠性至关重要的关键应用以及需要长期演进的代码库。它非常适合 Node.js 后端 API、使用 React 或 Angular 的复杂前端应用以及团队间共享的库。当项目超过几百行代码或涉及多个开发者时,TypeScript 就成为在质量和生产力方面值得的投资。
根据伦敦大学学院的研究,使用 TypeScript 可以通过编译时类型检查减少多达 15% 的生产环境 Bug。它通过智能自动补全、便捷的代码导航和安全的重构大幅改善开发者体验。TypeScript 还使代码具有自文档化特性:类型签名作为 IDE 利用来引导开发者的活文档。这是我们为所有雄心勃勃的专业项目推荐的生产力和软件质量工具。
TypeScript 被全球最大的科技公司使用:Microsoft(为开发 VS Code 而创建了它)、Google(为 Angular 采用了它)、Slack、Airbnb、Bloomberg 和 Stripe。Vercel 的 Next.js 团队使用它来开发框架本身。根据 State of JS 2024,TypeScript 是 JavaScript 生态系统中最受欢迎的语言,满意度超过 90%。这种大规模采用确保了丰富的类型生态系统和活跃的社区。
TypeScript 由 Anders Hejlsberg 在 Microsoft 创建,于 2012 年 10 月公开发布。Anders Hejlsberg 同时也是 C# 和 Turbo Pascal 的创建者,使他成为编程史上最有影响力的工程师之一。该项目源于 Microsoft 需要使用 JavaScript 开发大规模 Web 应用,同时保持编译型语言提供的类型安全性。如今,TypeScript 是一个托管在 GitHub 上的开源项目,拥有数千名贡献者。
要在项目中使用 TypeScript,通过 `npx tsc --init` 初始化配置,它会生成一个 `tsconfig.json` 文件,让您自定义严格程度和编译选项。将 `.js` 文件重命名为 `.ts`(React 使用 `.tsx`)并逐步添加类型注解。Next.js 和 Angular 等现代框架提供零配置的原生 TypeScript 支持。采用可以是渐进式的:TypeScript 接受纯 JavaScript,允许您按自己的节奏迁移代码库。
根本区别在于 TypeScript 为 JavaScript 添加了静态类型系统:变量、参数和函数返回值具有在执行前验证的显式类型。JavaScript 是动态类型的——类型错误只在运行时被检测到。TypeScript 还引入了接口、枚举、泛型和访问修饰符。然而,所有合法的 JavaScript 代码也是合法的 TypeScript 代码,TypeScript 会转译为纯 JavaScript 执行。因此它是一个安全层,而非不同的语言。