在JavaScript的基础上添加了类型系统,可以在编译时检查类型,提高代码的可读性和可维护性。
约定使用 TypeScript 编写的文件以 .ts 为后缀,用 TypeScript 编写 React 时,以 .tsx 为后缀。
1 2 3 4 5 6
| #全局安装typescript npm install -g typescript #编译 tsc xxx.ts #运行 node xxx.js
|
基础
数据类型
JavaScript的类型分为:
- 原始数据类型:布尔值、数值、字符串、null、undeined、Symbol、BigInt
- 对象类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| const x: boolean = false; const y: string = 'hello'; const z: number = 123; const a: bigint = 123n; const b: symbol = Symbol('foo'); const c: object = { foo: 123 }; let d: undefined = undefined; const d: null = null;
let x:'hello';
x = 'hello'; x = 'world';
let x:string|number;
x = 123; x = 'abc';
let obj: { foo: string } & { bar: string };
obj = { foo: 'hello', bar: 'world' };
type A = { foo: number };
type B = A & { bar: number };
type Age = number;
let age:Age = 55;
### 接口
interface Person { name: string; age?: number; readonly id: number; [propName: string]: any; x: unknown; }
let tom: Person = { id: 89757, name: 'Tom', age: 25, gender: 'male' };
|
数组
1 2 3 4 5
| let arr: number[] = [1, 2, 3, 4, 5]; let arr: (number|string)[] = [1, 2, 3, 4, '5']; let arr: Array<number> = [1, 2, 3, 4, 5];
|
元组
1 2 3 4 5 6 7 8 9 10 11 12 13
| let t:[number] = [1];
type Color = [ red: number, green: number, blue: number ];
const c:Color = [255, 255, 255];
|
声明文件
声明文件必需以 .d.ts 为后缀。
库的使用场景主要有以下几种: