联合类型
type1 | type2
- 使用
|
定义,只要是多个类型中的一种即可const getLength = ( value: number | string ): number => { return value.toString().length }
交叉类型
type1 & type2
- 使用
&
定义,取多个类型的并集const merge = <T, U>(p1: T, p2: U): T & U => { const res = Object.assign(p1, p2) return res }
类型别名 type
type name = type
type name<T> = T
- 使用
type
关键字,可以给一个类型取别名,然后通过别名去引用那个类型 - 本身并不是一个真正的类型,只是对一个类型的引用,类似于变量
- 可以使用泛型,在对象属性中可以直接使用别名自身 ```typescript type TypeString = string // 正常使用 const str: TypeString = ‘asd’
type TypeT
<a name="T24MP"></a>
## 字面量类型
<a name="8ywTm"></a>
### 字符串字面量
```typescript
const name: 'xxxxx' = 'xxxxx'
- 字符串字面量可以直接当做类型使用
- 使用后值必须和这个字面量完全相同
数字字面量
const name: 18 = 18
- 数字字面量也可以直接当做类型使用
- 使用后值必须和这个字面量完全相同