← TypeScript コース
18. インデックスシグネチャ
インデックスシグネチャは「キーの名前は決まっていないが、キーと値の型は決まっている」オブジェクトを表す書き方です。{ [key: string]: number } と書くと、どんな名前の文字列キーでも値は number、という意味になります。
実務では、科目名と点数、商品コードと在庫数のような「辞書」として使うオブジェクトに便利です。キーが実行時に決まるデータでも、値の型だけは保証できます。
つまずきポイントは、どんなキーでアクセスしてもコンパイラは「値がある」とみなすことです。実際には存在しないキーなら undefined が返るので、外部データを扱うときは存在チェックを忘れないようにしましょう。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
TypeScript