0
0

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 1 year has passed since last update.

TypeScript tips① objectのvalueの型を抽出する方法

Posted at

まずobjectを用意する

constアサーションを忘れないでください

const object = {
  BREAKFAST: 'breakfast',
 LUNCH: 'lunch',
 DINNER: 'dinner'
} as const

下記のようにこのobjectのvalueを抽出したいと思います。

type ObjectType = 'breakfast' | 'lunch' | 'dinner'

これでもいいですが、長いですね...

type FormObjectInputType = typeof FormObjectInputType[keyof typeof FormObjectInputType]

Genericsを使って汎用的な型を定義する

type ValueOf<T> = T[keyof T]

Tの部分に、typeof + 対象のobjectを入れれば、valueを抽出できます。

type FormObjectInputType = ValueOf<typeof FormObjectInputType>

ちょっとシンプルになりましたね。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?