Closed1

TypeScript¦作成した配列やオブジェクトから型を定義したい場合の方法

fuwakanifuwakani

大切なこと

  • as constをつける。
    • readonlyプロパティがつく。
  • keyof
    • オブジェクト型のプロパティ(key)名を型として返す型演算子
  • typeof
    • 変数に使用
    • 値から型を取得できる。

配列

配列の値のユニオン型

const lists = ['a', 'b', 'c'] as const
type ListType = typeof lists[number]   // type ListType = 'a' | 'b' | 'c'

配列の中にオブジェクトがある場合のオブジェクトの値のユニオン型

const lists = [
  { value: 'a'},
  { value: 'b'},
  { value: 'c'},
] as const
type ListType = typeof lists[number]['value']    // type ListType = 'a' | 'b' | 'c'

オブジェクト

オブジェクトの値のユニオン型

const status = {
    active: 0
    deactive: 1
} as const

type StatusType = typeof status[keyof typeof status]    // type StatusType = 0 | 1
このスクラップは5ヶ月前にクローズされました