参考にさせていただいたページ
今日のバージョン
- TypeScript 4.2.3
文字列の型について
以下のようにすると、変数keyの型はstringになります。
const key: string = 'keyNameA'
以下のようにすると、変数keyの型は'keyNameA'または'keyNameB’になり、この2種類の文字列しか代入できなくなります。
type Key = 'keyNameA' | 'keyNameB' const key: Key = 'keyNameA'
keyofキーワードを使ってobjectのキーを元に型を設定する
例えば以下のようなオブジェクトがあるとします。
const myObj = { keyNameA: '', keyNameB: '', }
以下のようにすると、さきほどの例のように変数keyの型は'keyNameA'または'keyNameB’になり、この2種類の文字列しか代入できなくなります。
type Key = keyof typeof myObj const key: Key = 'keyNameA'