オブジェクトしたい(Object)
1const object: Record<string, string> = {
2 key1: "a1",
3 key2: "b1",
4 key3: "c1",
5}
Object(オブジェクト型)はJavaScriptのビルトイン型のひとつで、
キーと値の組み合わせ(Key-Value Pair)を持つデータ構造です。
キーに文字列またはシンボルを使用できます。
TypeScriptで型付する場合は
Record<string, T>もしくは
Record<symbol, T>とします。
値を追加したい
1const object = new Object();
2// ドット記法
3object.key1 = "a1";
4object.key2 = "b1";
5// ブラケット記法
6object["key3"] = "c1";
7
8object.key1; // -> "a1";
Objectのプロパティは.(ドット記法)もしくは[](ブラケット記法)でアクセスできます。
存在しないプロパティにアクセスした場合はundefinedになります。
1// キーの確認
2if ("name" in person) {
3 // キーが存在するときの処理
4}
配列にしたい(Object.keys / Object.values / Object.entries)
1// オブジェクト型のキーを配列に変換
2const keys = Object.keys(object);
3// -> ["key1", "key2", "key3"]
4
5// オブジェクト型の値を配列に変換
6const values = Object.values(object);
7// -> ["a1", "b1", "c1"]
8
9// オブジェクト型のアイテムを2次元配列に変換
10const entries = Object.entries(object);
11Object.entries(object);
12// [["key1", "a1"], ["key2", "b1"], ["key3", "c1"]]
Object.keys、Object.values、Object.entriesでオブジェクト型の変数を配列に変換できます。
TypeScriptの場合asで型アサーションすると型安全にできます。
Map型にしたい
1const map = new Map(Object.entries(object));
Object.entriesからMap型に変換できます。
ループしたい
1// for...ofループ
2for (const [key, value] of object) {
3 console.log(`${key}=${value}`);
4}
JSONしたい(JSON.parse / JSON.stringify)
1//
2const object = JSON.parse("JSON文字列");
3
4//
5const json = JSON.stringify(object);
JSONクラスを使って、ObjectをJSON文字列に変換したり、
JSON文字列からオブジェクトを生成できたりします。