泛型
# 泛型
保证多种类型一起工作,实现了复用的同时 又保证类型安全,这时候就用到泛型
# 添加泛型约束收缩类型
# 1.指定更加具体额类型
function cb<T>(type: T): T {
return type
}
1
2
3
2
3
# 2.添加约束
用extends来进行约束
interface Tlength {
length: number
}
function cb<T extends Tlength>(value: T): T {
return value
}
cb(['1','2']) // 调用数组是有类型的
cb('abc') // 字符串类型
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 添加多个类型变量
比如,第二个类型变量受第一个类型变量的约束
function cb<T, key extends keyof T>(obj: T,key: key) {
return obj[key]
}
1
2
3
2
3
上次更新: 2023/06/25, 10:06:00