🧪 Frontend Lab
交互式前端学习实验室

映射类型

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、-)+ 值转换。