Typescript内置方法: Pick | Omit | Partial

通过例子来介绍以上三个方法,首先定义一个普通类型

 interface Person {
      name: string;
      age: number;
      sex: "男" | "女";
}

Pick: 通过泛型选择指定的属性生成新的类型

    type PersonPick = Pick<Person, 'name'>;
    const person2: PersonPick = {
      name: "雅雅",
    };
    // 此时PersonPick类型为:
    // {
    //   name: 'string'
    // }

相当于在Person类型里选出了name属性生成一个新的类型PersonPick

Omit: 通过泛型删除指定属性生成新的类型

    type PersonOmit = Omit<Person, "age">;

    const person1: PersonOmit = {
      name: "小明",
      sex: "男",
    };
    // 此时PersonOmit类型为:
    // {
    //   name: string;
    //   age: number;
    // }

相当于在Person类型里删掉age属性,然后把剩下的组成一个新的类型

Partial: 通过泛型让目标类型中的所有属性变为可选属性生成一个新的类型

    type PersonPartial = Partial<Person>;
    const person3: PersonPartial = {
      name: "",
    };
      // 此时PersonPartial类型为:
    //   {
    //       name?: string;
    //       age?: number;
    //       sex?: "男" | "女";
    //   }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容