3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-07-28

はじめに

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;
}

最後に

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

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?