🐙
【TypeScript】型定義の指定したプロパティのみ利用したい(Pick, Omit)
はじめに
TypeScript
のPick
とOmit
の基本的な使い方について書きます。
両方とも使い方を簡単に言うと、
「すでに存在する型から、利用したいプロパティをのみを抽出して新しい型を定義する」イメージ
便利でした。
書いてみる
この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