Dev Study
← 解説「typeof — 値から型を作る」に戻る

サンプルコードで身につける: typeof — 値から型を作る

解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。

1変数から型を写し取る

実物の値が先にあり、型を後から typeof で取り出す最も基本の形です。basePoint と同じ形のオブジェクトしか Point 型には入らないことを確かめます。

TypeScript

22つの typeof を見分ける

式の中の typeof(実行時に型名の文字列を返す JavaScript の機能)と、型を書く場所の typeof(変数から型を作る TypeScript の機能)を並べて比較する例です。書く場所で意味が変わることを体感するためのものです。

TypeScript

3設定オブジェクトを引数の型にする

デフォルト設定という「実物」から typeof で型を作り、そのまま関数の引数に使う例です。設定項目を増やしても型定義を別途直す必要がなく、値と型の二重管理から解放されます。

TypeScript

4keyof typeof でキーのユニオンを作る

前のレッスンの keyof と typeof を組み合わせると、「実物のオブジェクトのキーだけ」というユニオン型が手に入ります。メッセージ定義のような辞書オブジェクトを型の源にする、実務で非常によく見る合わせ技です。

TypeScript

5料金表から型を導いて計算する

配送方法と送料の対応表という実物のデータを唯一の源にして、受け付ける配送方法の型を自動で導く実務パターンです。対応表に項目を足せば型も自動で追従し、計算ロジック側の修正漏れをコンパイラが検出してくれます。

TypeScript