前端 - 笔记 -【TypeScript 】- 常见类型工具【Omit、Pick、Required、Partial】

373 阅读1分钟

前言

  • 大家可以结合下面的例子看;
  • 下面的代码就以类型 Person 为例:
    type Person = {
        name: string;
        age: number;
        likes?: string[];
        gender: 0 | 1;
    };
    

一、Omit<T>

  • 作用
    • 一个类型 为 基础,支持 剔除 某些类型,然后 返回 一个 新类型
    • 简单来说就是,从现有的类型中剔除掉某些属性;
  • 注意
    • 如果想 剔除多个,可以使用 联合类型
  • 示例演示:
    // Omit:从现有类型中,剔除某些类型
    
    type Person = {
      name: string;
      age: number;
      likes?: string[];
      gender: 0 | 1;
    };
    
    type OmitPerson = Omit<Person, 'age' | 'likes'>;
    
  • image.png

二、Pick<T>

  • 作用
    • 类型 的 属性中选取 指定一组 属性,然后 返回 一个 新类型
    • 简单来说就是,从现有的类型中,选取指定的类型;
  • 示例演示:
    // Pick:从现有类型中,取出某些属性
    
    interface Person1 {
      name: string;
      age: number;
      likes?: Array<string>;
      gender: 0 | 1;
    }
    
    type PinkPerson1 = Pick<Person1, 'age' | 'name' | 'gender'>;
    
  • image.png

三、Required<T>

  • 作用
    • 把一个 对象的 属性 转换为 全部 必选
  • 示例展示:
    type Person2 = {
        city?: string;
        work?: string;
        salary?: string;
    };
    
    type NewPerson = Person & Person2;
    
    type RequiredPerson = Required<NewPerson>;
    
    • 得到的新类型 RequiredPersonimage.png

四、Partial<T>

  • 作用
    • 把一个 对象的 属性 转换为 全部 可选
  • 示例展示:
    // RequiredPerson类型 是 第三节得到的
    
    type PartialPerson = Partial<RequiredPerson>;
    
    • 得到的新类型 PartialPersonimage.png