- 安装typescript
npm i -g typescript
yarn global add typescript
- 创建.ts文件
- 使用tsc对文件进行编译
类型:
数字
let a:number
a: 123;
字符串
```ts
let b:string
b: 'qwe'
boolean
let c:false;
let c:true;
字面量
// let a:10;
let c: 'number' | 'boolean'
c: 556;
c: false
any 表示任意类型(不推荐使用)可以直接赋值给其它变量(a = b)声明变量如果不指定类型TS编译器会自动判断类型为any
let a:any
a = 5;
a = 'hello';
a = true;
unknown 表示未知类型的值 不能赋值给其它变量
let a:any
a = 5;
a = 'hello';
a = true;
类型断言 告诉解析器变量的实际类型
c = d as string
c = <string>d
void 表示函数没有返回值
function fn(): void{}
never 表示永远不会返回结果
function fn(): never{
throw new Error('报错了');
}
object
{}用来指定对象中可以包含哪些属性
语法:{属性名:属性值,属性名:属性值}
?表示属性可选
let a:{name:string,age?:number}
a: {name:'zs',age:15}
propName表示任意属性名(可变);
any 任意类型的属性
let a: {name:string,[propName:string]:any};
a = {name:'ls',age:15,gender:'男'}
设置函数结构类型使命
语法:(形参:类型,形参:类型...)=> 返回值
let a: (b: number,c: number) => number;
a = function(n1: number,n2:number): number{
return 15;
}
数组
语法: 类型[];
Array<类型>
// : string[]表示字符串数组
let a: string[]
a =['n1','n2','n3']
// :number[]表示数值数组
let b: number[]
b = [1,3,5];
let c: Array<number>;
c: [2,4,6];
tuple 元组
固定长度的数组
语法:[类型,类型]
let y: [string,string];
y = ['hello','world']
enum 枚举
enum Gender {
nan,
nv
}
let o: {name:string,gender:Gender};
i = {
name: '张三',
gender: Gender.nan
}
console.log(i.gender === Gender.nan);
&表示同时
let k: {name:string} & {age:number};
k:{name:'zs',age:16};
类型别名
type a1 = 2|4|6|8|10|;
let q: a1;
let w: a2;
let e: a3