Skip to content
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

TypeScript 手册

关于本手册

在向编程社区推出 20 多年后,JavaScript 现已成为有史以来最广泛的跨平台语言之一。从最初作为为网页添加简单交互的小型脚本语言,JavaScript 已发展成为各种规模的前端和后端应用程序的首选语言。虽然用 JavaScript 编写的程序规模、范围和复杂性呈指数级增长,但 JavaScript 语言表达不同代码单元之间关系的能力却没有跟上。再加上 JavaScript 相当特殊的运行时语义,这种语言能力与程序复杂性之间的不匹配使得 JavaScript 开发在大规模情况下难以管理。

程序员编写的最常见的错误类型可以描述为类型错误:在期望一种类型值的地方使用了另一种类型的值。这可能是由于简单的拼写错误、对库的 API 理解不足、对运行时行为的错误假设或其他错误导致的。TypeScript 的目标是成为 JavaScript 程序的静态类型检查器——换句话说,一个在代码运行之前运行(静态)并确保程序类型正确(类型检查)的工具。

如果你在接触 TypeScript 之前没有 JavaScript 背景,并且打算将 TypeScript 作为你的第一门语言,我们建议你首先阅读 Microsoft Learn JavaScript 教程Mozilla Web Docs 上的 JavaScript 指南 中的文档。如果你有其他语言的经验,通过阅读本手册应该能够很快掌握 JavaScript 语法。

本手册是如何 structured 的

本手册分为两个部分:

  • 手册

    TypeScript 手册旨在成为一份全面的文档,向日常程序员解释 TypeScript。你可以通过从左到右浏览左侧导航栏来阅读手册。

    你应该期望每个章节或页面都能让你对给定的概念有深刻的理解。TypeScript 手册不是完整的语言规范,但它旨在成为所有语言特性和行为的综合指南。

    完成整个指南的读者应该能够:

    • 阅读和理解常用的 TypeScript 语法和模式
    • 解释重要编译器选项的作用
    • 在大多数情况下正确预测类型系统的行为

    为了清晰和简洁,手册的主要内容不会探讨所涵盖特性的每个边界情况或细节。你可以在参考文章中找到关于特定概念的更多细节。

  • 参考文件

    导航中手册下方的参考部分旨在提供对 TypeScript 特定部分如何工作的更深入理解。你可以从头到尾阅读,但每个部分都旨在对单个概念提供更深入的解释——这意味着不追求连续性。

非目标

本手册也旨在成为一份简洁的文档,可以在几小时内轻松阅读。为了保持简短,某些主题将不会被涵盖。

具体来说,本手册不会全面介绍核心 JavaScript 基础知识,如函数、类和闭包。在适当的地方,我们会包含背景阅读的链接,你可以用来学习这些概念。

本手册也不打算替代语言规范。在某些情况下,为了提供高层次、更容易理解的解释,将跳过边界情况或行为的正式描述。相反,有单独的参考页面更精确和正式地描述了 TypeScript 行为的许多方面。参考页面不适合不熟悉 TypeScript 的读者,因此它们可能使用高级术语或引用你尚未阅读过的主题。

最后,除非必要,本手册不会涵盖 TypeScript 如何与其他工具交互。诸如如何使用 webpack、rollup、parcel、react、babel、closure、lerna、rush、bazel、preact、vue、angular、svelte、jquery、yarn 或 npm 配置 TypeScript 等主题不在讨论范围之内——你可以在网络上的其他地方找到这些资源。

入门

在开始阅读 基础知识 之前,我们建议阅读以下介绍性页面之一。这些介绍旨在突出 TypeScript 与你偏好的编程语言之间的关键相似之处和差异,并澄清特定于这些语言的常见误解。

否则,请直接跳转到 基础知识