typescript笔记2-联合类型,可选参数,类型别名,接口

198 阅读1分钟

使用简单类型注解只能满足最单一的场景,对于复杂的业务场景需要使用更多的类型注解方式。

1.联合类型

使用 |

let a : string | number;
a = 'aa';
a = 10;

let arr:<string | number>[] = [1,2,'aaa']

2 . 可选参数

对于包含很多属性的对象来说,我们可能只需要其中几个属性,对于可选参数使用?表示,对于多余参数使用[prop:string]:any

let obj:{name:string,age?:number,[prop:string]:any}

3.type类型别名

定义类型可以复用特定的类型注解

type Atype = 1 | 2| 3 | 4;

let a:Atype = 3;

type Person = {

name:string,

age:number

}

let p : Person = {name:'aa',age:20}

4.interface接口

接口应用于类型注解时,可以合并,能用interface时就不用type

interface Iname {
    name :string,
    age:number,
    walk:()=>void
}

let n : Iname = {
    name:'aaa',
    age:20,
    walk(){console.log(walk)}
}