自述
长话短说,我写了一本《TypeScript 教程》,已经发布在网道,欢迎大家访问。

我以前写过《JavaScript 教程》和《ES6 教程》,很自然地,一直有人问,有没有《TypeScript 教程》?
嗯…说实话,我一开始不想写。

我那时的想法是,TypeScript 就是为 JS 语言添加静态类型系统。如果你真需要静态类型,可以考虑使用其他更成熟的语言(比如 Rust 和 Java),再编译成 JS(wasm 模块),何必新学一门语言呢。
但是,形势比人强。TypeScript 越来越流行,成为前端开发的主流工具,各种项目纷纷移植过去。我就逐渐改变了想法,觉得还是应该上车。

2021 年底,我开始动笔,没想到一写,就是断断续续一年多。
写作过程很痛苦,我低估了 TypeScript 的难度。它为了适配 JavaScript,有很多不符合直觉的规则,内容又多又杂。
加之我对很多地方不够熟悉,边写边查资料,更加拖延了写作进度。
今年 3 月份,我已经快写完了,TypeScript 5.0 突然发布了,装饰器(Decorators)改用全新语法。我不得不重写这一章,于是装饰器现在就有新语法和旧语法两章,因为 TypeScript 同时支持这两者。

如今终于完稿,如释重负,欢迎大家多提供反馈。
这个教程采用创意共享许可证,免费使用,但需要保留署名,也就是保留出处。源码放在 GitHub,大家发现任何问题,欢迎提交 Issue 和 PR。
提示
版权声明:自由转载-非商用-非衍生-保持署名(创意共享 3.0 许可证)
Buy 工具组件将在独立客户端岛中继续迁移。
相关内容
- 体验 阮一峰最新发布的高质量TypeScript教程。教程适合有JavaScript基础的人系统学习TypeScript,并包含了26个章节的内容,涵盖了TypeSc...
- any 类型,unknown 类型,never 类型 any类型关闭类型检查,unknown类型严格版的any。never类型代表不包含任何值的类型。any和unknown是顶层类型,never是唯一的底层类型。使...
- TypeScript 的数组类型 TypeScript数组成员类型必须相同,用T[]表示。数组类型可推断,readonly使数组成为只读。数组是无边界的,不会越界报错。支持多维数组表示。
- TypeScript 的类型断言 TypeScript的类型断言可以绕过类型检查,as可以断言任意类型,as const可缩小类型范围。非空断言!处理空值,断言函数asserts语句明确参数类型...
- TypeScript 基本用法 TypeScript 基本语法包括类型声明、类型推断、编译成 JavaScript 代码等。使用 tsc 编译器把 TS 代码编译成 JS 代码。tsconfi...
- TypeScript 的 class 类型 TypeScript的类支持公开、私有、受保护的成员修饰符,抽象类,静态成员,泛型类,继承等面向对象特性。类遵守结构类型原则,类型包含实例类型和类自身类型。