← [ BACK_TO_NOTES ]

TS工具类型的使用示例

用通用示例展示 TypeScript 工具类型和索引访问类型的常见组合方式。

#dev #typescript #snippet #growing

[!info] related notes

TS工具类型的使用示例

type User = {
  id: string;
  name: string;
  email: string;
  role: "admin" | "user";
  profile: {
    city: string;
    bio?: string;
  };
};

// 选择字段
type UserPreview = Pick<User, "id" | "name">;

// 排除字段
type UserWithoutProfile = Omit<User, "profile">;

// 全部变可选
type PatchUser = Partial<User>;

// 全部变必选
type StrictUser = Required<User>;

// 键到值映射
type RoleLabelMap = Record<User["role"], string>;

// 索引访问类型:提取嵌套字段
type UserProfile = User["profile"];
type UserRole = User["role"];

// 参数与返回值推导
function fetchUser(id: string) {
  return Promise.resolve({ id, name: "A" });
}

type FetchUserParams = Parameters<typeof fetchUser>;
type FetchUserResult = Awaited<ReturnType<typeof fetchUser>>;
创建于 2025/1/1 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本