泛型高级用法
#
# 泛型
- 在函数名后面添加<>,<>中添加类型变量,比如Type
- 类型变量Type,是一种特殊类型变量,它处理类型而不是值
- 该类型变量相当于是一个容器,能够捕获用户提供的类型
- 因为Type是类型,因此可以将其作为函数参数或者返回值类型,表示参数和返回值有相同类型
- 类型变量type,可以任意合法变量名称
# 泛型约束
在类型后面跟一extends再跟一个约束的类型
function add<T extends number>(a:T, b:T) {
return a + b
}
interface Len {
length: number
}
function add<T extends Len>(a: T) {
return a.length
}
add('abckui')
let obj = {
name: '小满',
sex: '女'
}
function ob<T extends object,K extends keyof T>(obj:T, key: K) {
return obj[key]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#
上次更新: 2024/04/26, 0:04:00