🐹

配列の要素をリテラル型にする方法[TypeScript]

2022/07/28に公開

やりたいこと

const fruits = ["apple", "banana", "cherry"]

この配列を参照して,

type Fruits = "apple" | "banana" | "cherry"

という型をも作りたい.

どうやるの?

まず配列をreadonlyにする

const fruits = ["apple", "banana", "cherry"] as const

as constをつけることで,配列の要素は全てreadonlyとなる.

typeofを使って型を作成

そこで,こうする.

type FruitsType = typeof fruits[number]

これで,

type Fruits = "apple" | "banana" | "cherry"

と同義になる🎉

Discussion