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

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

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • 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.

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