关于本手册
在向编程社区推出 20 多年后,JavaScript 现已成为有史以来最广泛的跨平台语言之一。JavaScript 最初只是一种小型脚本语言,用于向网页添加简单的交互性,现已发展成为各种规模的前端和后端应用程序的首选语言。虽然用 JavaScript 编写的程序的规模、范围和复杂性呈指数级增长,但 JavaScript 语言表达不同代码单元之间关系的能力却没有。再加上 JavaScript 相当奇特的运行时语义,语言与程序复杂性之间的这种不匹配使得 JavaScript 开发成为一项难以大规模管理的任务。
程序员编写时最常见的错误类型可以描述为类型错误:在需要不同类型的值时使用了某种类型的值。这可能是由于简单的错别字、未能理解库的 API 表面、对运行时行为的错误假设或其他错误。TypeScript 的目标是成为 JavaScript 程序的静态类型检查器——换句话说,它是一种在代码运行之前运行(静态)并确保程序类型正确的工具(类型检查)。
如果您没有 JavaScript 背景就接触 TypeScript,并且打算将 TypeScript 作为您的第一语言,我们建议您先阅读 Microsoft Learn JavaScript 教程 或 Mozilla Web Docs 中的 JavaScript 文档。如果您有其他语言的经验,您应该能够通过阅读手册快速掌握 JavaScript 语法。
本手册的结构
本手册分为两部分
-
手册
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 与你偏爱的编程语言之间的主要相似之处和不同之处,并澄清特定于这些语言的常见误解。
否则,跳转至 基础知识。