前端/移动开发面试题更新 2026-08-05

请解释 TypeScript 内置工具类型 Omit 的功能和用途。

前端/移动开发技术原理TypeScript

考察说明

考查对 TypeScript 内置工具类型 Omit 的理解,包括其定义、作用和使用场景。

回答思路

  1. 【回答框架 1】Omit 是 TypeScript 内置的工具类型,用于从某个对象类型中剔除指定的属性,生成一个新的类型。它接收两个参数:原类型 T 和要移除的属性名组成的联合类型 K,结果类型包含 T 中除 K 之外的所有属性。
  2. 【回答框架 2】其实现原理是基于映射类型(Mapped Types):通过 keyof T 获取 T 的所有键,然后使用 Exclude 排除掉 K 中的键,最后用索引签名构造新类型。等效于 Pick<T, Exclude<keyof T, K>>。
  3. 【回答框架 3】典型使用场景包括:从某个已有类型中删除与当前上下文无关或敏感的字段,例如从用户对象类型中剔除密码字段;在继承或组合时,创建基于已有类型但排除特定属性的新类型,增强类型的复用性和可维护性。
  4. 【回答框架 4】与 Pick 相反,Pick 是选择保留某些属性,而 Omit 是排除某些属性。使用时需注意:K 必须为 T 的属性键的子集,如果 K 包含 T 中不存在的键,TypeScript 不会报错,只是不会影响结果类型。
  5. 【关键点 1】Omit<T, K> 返回 T 中去除 K 属性后的新类型。
  6. 【关键点 2】基于映射类型实现,等效于 Pick<T, Exclude<keyof T, K>>。
  7. 【关键点 3】用于剔除不需要的属性,如敏感信息或冗余字段。
  8. 【关键点 4】与 Pick 互补,Pick 保留指定属性,Omit 排除指定属性。