https://ts.xcatliu.com
简介
什么是 TypeScript
- 即使不显式的定义类型,也能够自动做出类型推论
- 即使第三方库不是用 TypeScript 写的,也可以编写单独的类型文件供 TypeScript 读取
- 接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)?
安装 TypeScript
npm install -g typescript
typescript 库实现编译- 主流的编辑器都支持 TypeScript,利用它的特点实现代码补全、接口提示、跳转到定义、重构等功能。
Hello TypeScript
- 使用 : 指定变量的类型,: 的前后有没有空格都可以。
function sayHello(person: string) { }
- TypeScript 只会进行静态检查,如果发现有错误,编译的时候就会报错,但是还是生成了 js 文件。编译后的代码不会插入类型检查的代码
- 如果要在报错的时候终止 js 文件的生成,可以在 tsconfig.json 中配置 noEmitOnError 即可。
基础
原始数据类型
let isDone: boolean = false;
使用构造函数 Boolean 创造的对象不是布尔值- 直接调用 Boolean 也可以返回一个 boolean 类型
let createdByBoolean: boolean = Boolean(1);
- 使用 number 定义数值类型
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let notANumber: number = NaN;
let infinityNumber: number = Infinity;
// ES6 中的二进制表示法,编译为:var binaryLiteral = 10;
let binaryLiteral: number = 0b1010;
// ES6 中的八进制表示法,编译为:var octalLiteral = 484;
let octalLiteral: number = 0o744;
- 用 void 表示没有任何返回值的函数,表示空注意它跟 undefined 和 null 的区别
function alertName(): void {
alert('My name is Tom');
}
- undefined 和 null 是所有类型的子类型,可以赋值给任意类型
let num: number = undefined;
而 void 类型不行
任意值