在向编程社区介绍了20多年后,JavaScript现在是有史以来最广泛的跨平台语言之一。起初,JavaScript只是一种为网页添加微不足道的交互性的小型脚本语言,现在已经成长为各种规模的前端和后端应用的首选语言。虽然用JavaScript编写的程序的大小、范围和复杂度都成倍增长,但JavaScript语言表达不同代码单元之间关系的能力却没有。再加上JavaScript相当奇特的运行时语义,这种语言和程序复杂度之间的不匹配,使得JavaScript开发成为规模化管理的难题。
程序员写出的最常见的错误种类可以描述为类型错误:在预期的不同种类的值的地方使用了某种值。这可能是由于简单的排版错误,未能理解库的API表面,对运行时行为的不正确假设,或其他错误。TypeScript的目标是成为JavaScript程序的静态类型检查器—换句话说,一个在你的代码运行之前运行的工具(静态),并确保程序的类型是正确的(typechecked)。
如果你是在没有JavaScript背景的情况下接触TypeScript,打算将TypeScript作为你的第一门语言,我们建议你先从Mozilla Web Docs的JavaScript文档开始阅读。如果你有其他语言的经验,你应该能够通过阅读手册很快地掌握JavaScript语法。
本手册的结构是怎样的
本手册分为两部分。
手册
TypeScript手册旨在成为一个全面的文档,解释TypeScript给日常程序员。你可以通过左侧导航从上到下阅读该手册。
你应该期望每一章或每一页都能为你提供对给定概念的深刻理解。TypeScript手册并不是一个完整的语言规范,但它的目的是为了全面指导语言的所有特性和行为。
一个完成演练的读者应该能够。
- 阅读并理解常用的TypeScript语法和模式。
- 解释重要编译器选项的效果
- 在大多数情况下,正确地预测类型系统行为。
- 为一个简单的函数、对象或类写一个.d.ts声明。
为了简洁明了,本手册的主要内容不会探讨所涵盖的每一个边缘案例或功能的细枝末节。你可以在参考文章中找到更多关于特定概念的细节。
手冊參考文章
该手册的参考是建立在对TypeScript的特定部分如何工作提供更丰富的理解。你可以从上到下阅读,但每一节的目的都是为了对单一概念提供更深入的解释—这意味着没有连续性的目标。
非目标
本手册的目的也是为了成为一份简明扼要的文件,可以在几个小时内轻松阅读。为了保持简短,某些主题不会被提及。
具体来说,本手册并没有完全介绍核心的JavaScript基础知识,比如函数、类和闭包。在适当的地方,我们会包含背景阅读的链接,你可以用来阅读这些概念。
本手册也不打算取代语言规范。在某些情况下,会跳过边缘案例或行为的形式化描述,而采用高级的、易于理解的解释。取而代之的是,有单独的参考页,更精确和正式地描述了TypeScript行为的许多方面。参考页并不是为不熟悉TypeScript的读者准备的,所以他们可能会使用高级术语或参考你还没有读过的主题。
最后,除非在必要的情况下,本手册不会涵盖TypeScript如何与其他工具交互。像如何配置TypeScript与webpack、rollup、parcel、react、babel、closure、lerna、rush、bazel、preact、vue、angular、svelte、jquery、yarn或npm等主题都不在范围内—你可以在网络的其他地方找到这些资源。
