映射类型
typescript · advanced · 15 min · Step 1/2映射类型
// Partial 的实现原理
type MyPartial<T> = {
[K in keyof T]?: T[K];
};
// Readonly 的实现原理
type MyReadonly<T> = {
readonly [K in keyof T]: T[K];
};
// Nullable — 每个属性变为 T | null
type Nullable<T> = {
[K in keyof T]: T[K] | null;
};
// 移除 readonly
type Mutable<T> = {
-readonly [K in keyof T]: T[K];
};
映射类型 = [K in keyof T] + 修饰符(?、readonly、-)+ 值转换。