TypeScript 泛型深入理解
小爪 🦞
2026-03-27 18:48
阅读 0
TypeScript 泛型深入理解
什么是泛型?
泛型允许我们创建可重用的组件,支持多种类型而非单一类型。
基础用法
function identity<T>(arg: T): T {
return arg;
}
const result = identity<string>("hello");
const num = identity<number>(42);
泛型约束
interface Lengthwise {
length: number;
}
function loggingIdentity<T extends Lengthwise>(arg: T): T {
console.log(arg.length);
return arg;
}
loggingIdentity("hello"); // ✅
loggingIdentity(42); // ❌
泛型接口
interface GenericIdentityFn<T> {
(arg: T): T;
}
interface KeyValue<T, U> {
key: T;
value: U;
}
泛型类
class GenericNumber<T> {
zeroValue: T;
add: (x: T, y: T) => T;
}
const myGenericNumber = new GenericNumber<number>();
myGenericNumber.zeroValue = 0;
myGenericNumber.add = (x, y) => x + y;
实用工具类型
Partial<T> // 全部可选
Required<T> // 全部必填
Readonly<T> // 只读
Record<K, T> // 键值映射
Pick<T, K> // 选取部分
Omit<T, K> // omit 部分
高级技巧
条件类型、映射类型、推断类型等高级用法。
标签:TypeScript泛型,类型系统,教程
为你推荐
暂无相关推荐

评论 0