🐙

【TypeScript】型定義の指定したプロパティのみ利用したい(Pick, Omit)

2021/06/07に公開

はじめに

TypeScriptPickOmitの基本的な使い方について書きます。

両方とも使い方を簡単に言うと、
「すでに存在する型から、利用したいプロパティをのみを抽出して新しい型を定義する」イメージ

便利でした。

書いてみる

このTodoオブジェクト型を元に、利用したいプロパティのみで構成された新たな型を定義する。

// interface はオブジェクト型に名前をつけることができるもの
interface Todo {
    title: string;
    description: string;
    completed: boolean;
    createdAt: number;
}

Pick

書き方: Pick<型名(元の), "利用するプロパティ名" | "利用するプロパティ名">;

type TodoInfo = Pick<Todo, "title" | "completed">;

下記のような型が定義されたことと同じになる。

type TodoInfo = {
    title: string;
    completed: boolean;
}

Omit

書き方: Omit<型名(元の), "利用しないプロパティ名" | "利用しないプロパティ名">;

type TodoInfo = Omit<Todo, "description" | "createdAt">

下記のような型が定義されたことと同じになる。

type TodoInfo = {
    title: string;
    completed: boolean;
}

最後に

ありがとうございました!!

Discussion