这是我参与「第四届青训营 」笔记创作活动的的第8天
TypeScript 是什么
TypeScript 是⼀种由微软开发的⾃由和开源的编程语⾔。它是 JavaScript 的⼀个超集,⽽且本质上向这 个语⾔添加了可选的静态类型和基于类的⾯向对象编程。 《重学TS v1.0》
TypeScript 提供最新的和不断发展的 JavaScript 特性,包括那些来⾃ 2015 年的 ECMAScript 和未来的 提案中的特性,⽐如异步功能和 Decorators,以帮助建⽴健壮的组件。下图显示了 TypeScript 与 ES5、ES2015 和 ES2016 之间的关系:
TS 发展历史
- 2012-10:微软发布了TypeScript第一个版本(0.8)
- 2014-10:Angular发布了基于TypeScript的2.0版本
- 2015-04:微软发布了Visual Studio Code
- 2016-05:@types,/react发布,TypeScript可开发React
- 2020-09:Vue发布了3.0版本,官方支持TypeScript
- 2021-11:v4.5版本发布
TS 开发环境搭建
VS Code
VS Code 本身就是由 TypeScript 编写的,因此它对 TypeScript 有着非常全面的支持,包括类型检查、补全等功能,
Playground
www.typescriptlang.org/zh/play
基本语法
基本语法不过多介绍,详细可以去查看官网文档 www.typescriptlang.org/zh
原始类型的类型标注
首先,我们来看 JavaScript的内置原始类型。除了最常见的 number / string / boolean / null / undefined, ECMAScript 2015(ES6)、2020 (ES11) 又分别引入了 2 个新的原始类型:symbol 与 bigint 。在 TypeScript 中它们都有对应的类型注解:
const name: string = 'linbudu';
const age: number = 24;
const male: boolean = false;
const undef: undefined = undefined;
const nul: null = null;
const obj: object = { name, age, male };
const bigintVar1: bigint = 9007199254740991n;
const bigintVar2: bigint = BigInt(9007199254740991);
const symbolVar: symbol = Symbol('unique');
在ts 中 null 与 undefined 类型都是有具体意义的类型
工程应用
- Web
- webpack
- webpack.loader的相关配置
- 配置tsconfig.ts文件
- 运行webpack启动/打包
- loader处理ts文件时,会进行编译与类型检查
- Node
- TSC编译
- 安装node与npm
- 配置tsconfig.js文件
- 使用npm安装tsc
- 使用tsc运行编译得到js文件