9cubed
ブログ | Tailwind | Vite | Python | MariaDB | Node.js | Linux | PowerShell | Docker | Git | その他 | 将棋ウォーズ | 歌の練習
< 前の記事

TypeScript - インターセクション型(Intersection Types)

次の記事 >

TypeScript - インターフェース

TypeScript

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 の場合は、この制限を受けなくなるため要注意。

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 の場合は、この制限を受けなくなるため要注意。

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


< 前の記事

TypeScript - インターセクション型(Intersection Types)

次の記事 >

TypeScript - インターフェース

YouTube X

新着一覧

  • テーブル結合(CROSS JOIN、INNER JOIN、LEFT JOIN)MariaDB
  • 楽観ロック・悲観ロックMariaDB
  • カレントリードMariaDB
  • インデックスMariaDB
  • 論理削除(ソフトデリート)MariaDB
  • awk(オーク)の使い方についてLinux
  • NOT NULL 制約と NULL を許容した時の動作MariaDB
  • 外部キー制約MariaDB
  • MySQL と MariaDB の関係MariaDB
  • Docker で PostgreSQL のコンテナの使用Linux

アーカイブ

  • 2026/01
  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08
  • /00

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲