【TypeScript】マップ型によるデータの扱い

2023年11月19日 21:22

【TypeScript】マップ型によるデータの扱い

TypeScriptネイティブになるために、学習します!

目次
マップ型とは

マップ型とは

キーと値がセットになって情報を保管する型。
かつ、キーも値も型指定したもの。

typeを使って、このように定義できます。

type NAME = { [ key in TYPE ]: TYPE

stringのキーのマップ

キーも値も共にstringのマップ型。

type stringMap = { [ key in string ]: string }

const data: stringMap = {
    a: 'AAA',
    b: 'BBB',
    c: 'CCC',
}

data['d'] = 'DDD'
data[1] = 'ONE'
console.log(data)

ちなみに、上記のdata[1]は、'1'のテキストに変換される。

[LOG]: {
  "1": "ONE",
  "a": "AAA",
  "b": "BBB",
  "c": "CCC",
  "d": "DDD"
} 

enumで指定されたキー

enumの値をキーに指定したマップ型。

enum company { name='name', address='address' }

type CompanyMap = { [ key in company ]: string }

const toyota: CompanyMap = {
    name: 'toyota',
    address: 'Aichi'
}

const sony: CompanyMap = {
    name: 'sony',
    address: 'Tokyo'
}

[ key in company ]としたことで、CompanyMap型では必ずnameaddressの項目が必須となる。

あらかじめ用意されている項目が確定されているような場合はtypeでマップ型を作成するべし!!

まとめ

キーと値がセットになって情報を保管する型。
かつ、キーも値も型指定したもの。

あらかじめ用意されている項目が確定されているような場合はtypeでマップ型を作成するべし!!

プログラミング記事の一覧に戻る