泛型
- 应用场景:1、处理多种数据类型,2、当函数、接口或类在多个地方使用该数据类型时
- 分类:
(1)泛型接口:
interface Identities<V,M> { value: V, message: M}
(2)泛型函数:
function Fn<V,M>(value: V, message: M): V {
console.log(message);
return value;
}
(3) 泛型类:
- 泛型约束:
- 确保属性存在
- 检查对象上的键是否存在
interface Length {
length: number;
}
function identity<T extends Length>(arg: T): number {
return T.length;
}
function getProperty<T, K extends keyof T>(obj: T, key: K) : T[k] {
return obj[key];
}
约定俗成命名:
T(Type)、K(Key)、V(Value)、E(Element)

浙公网安备 33010602011771号