TypeScript - 連想配列
公開日:2019-02-06 更新日:2019-05-14
1. 概要
連想配列の使い方です。
let 変数名 = {};
変数名[キー] = 値;
2.1 サンプル
let data = {};
data["key1"] = 1;
//console.log(data.key1); //ビルドエラー
//console.log(data.key999); //ビルドエラー
console.log(data["key1"]); //1
console.log(data["key999"]); //undefined
2.2 サンプル
//オブジェクトリテラルを代入した場合は、「.」でもアクセスできる
let data = { key1: 1, "key2": 2 };
console.log(data.key1); //1
console.log(data.key2); //2
console.log(data["key1"]); //1
console.log(data["key2"]); //2
//キー一覧の出力
for (var key in data) {
console.log(key); //key1 key2
}
2.3 サンプル - インデックスシグネチャ
連想配列のキーが number の場合は、値の型を number に制限します。
値に string を入れるとビルドエラーになります。
但し、キーが string の場合は、この制限を受けなくなるため要注意。
値に string を入れるとビルドエラーになります。
但し、キーが string の場合は、この制限を受けなくなるため要注意。
var data: { [key: number]: number; } = {};
data[0] = 1;
//data[1] = "abc"; //ビルドエラー
data["a"] = 2;
data["b"] = "def";
console.log(data[0]); //1
console.log(data["a"]); //2
console.log(data["b"]); //def
2.4 サンプル - インデックスシグネチャ
連想配列のキーが string の場合は、値の型を number に制限します。
値に number を入れるとビルドエラーになります。
但し、キーが number の場合は、この制限を受けなくなるため要注意。
値に number を入れるとビルドエラーになります。
但し、キーが number の場合は、この制限を受けなくなるため要注意。
var data: { [key: string]: number; } = {};
data[0] = 1;
data["a"] = 2;
//data["b"] = "abc"; //ビルドエラー
console.log(data[0]); //1
console.log(data["a"]); //2
console.log(data["b"]); //undefined