カテゴリ: TypeScript 更新日: 2025/12/31

TypeScriptでMap・Set・for...ofなどES6構文を活用する方法

TypeScriptでMap・Set・for...ofなどES6構文を活用する方法
TypeScriptでMap・Set・for...ofなどES6構文を活用する方法

先生と生徒の会話形式で理解しよう

生徒

「TypeScriptって聞いたことはあるんですが、MapとかSetとか、よく分からない言葉が出てきて不安です…」

先生

「大丈夫ですよ。MapやSetは、ES6という新しい書き方で追加された便利な箱のようなものです。」

生徒

「箱、ですか?」

先生

「はい。for...ofという書き方と一緒に使うと、データを順番に取り出すのもとても簡単になります。順番に見ていきましょう。」

1. ES6構文とは?TypeScriptとの関係

1. ES6構文とは?TypeScriptとの関係
1. ES6構文とは?TypeScriptとの関係

まずES6(イーエスシックス)とは、JavaScriptが大きく進化したときの新しい書き方のルールの集合です。正式には「ECMAScript 2015」と呼ばれます。TypeScriptは、このES6やさらに新しいESNextの構文を、そのまま使うことができます。

難しく考えなくて大丈夫です。今までよりも分かりやすく、安全に書ける便利な書き方が増えた、とイメージしてください。MapやSet、for...ofは、その代表的な機能です。

2. Mapとは?名前付きのデータを管理する箱

2. Mapとは?名前付きのデータを管理する箱
2. Mapとは?名前付きのデータを管理する箱

Map(マップ)は、「名前」と「中身」をセットで保存できる仕組みです。例えば、ロッカーに番号と荷物を対応させて入れておくような感覚です。配列よりも、何が入っているか分かりやすいのが特徴です。


const userMap = new Map<string, string>();
userMap.set("id", "001");
userMap.set("name", "太郎");
userMap.set("job", "学生");

console.log(userMap.get("name"));

太郎

new Map()でMapを作り、setでデータを入れ、getで取り出します。TypeScriptでは、<string, string>のように型を書くことで、「文字と文字のセットですよ」とコンピュータに教えられます。これにより、入力ミスを防げます。

3. Setとは?重複しないデータを集める箱

3. Setとは?重複しないデータを集める箱
3. Setとは?重複しないデータを集める箱

Set(セット)は、「同じものを2つ以上入れられない箱」です。たとえば、出席者リストのように、同じ名前が何度も入らないようにしたい場面で役立ちます。


const fruits = new Set<string>();
fruits.add("りんご");
fruits.add("みかん");
fruits.add("りんご");

console.log(fruits.size);

2

同じ「りんご」を2回入れても、1つとして数えられます。sizeは、中に入っている数を表します。重複を自動で防いでくれるので、初心者でも安心して使えます。

4. for...ofとは?中身を順番に取り出す方法

4. for...ofとは?中身を順番に取り出す方法
4. for...ofとは?中身を順番に取り出す方法

for...of(フォー・オブ)は、箱の中身を上から順番に取り出すための書き方です。難しい設定がいらず、人が見ても動きが想像しやすいのが特徴です。


const colors = ["赤", "青", "黄色"];

for (const color of colors) {
    console.log(color);
}

赤
青
黄色

「colorsの中から1つずつ取り出して、colorに入れる」という意味になります。配列だけでなく、MapやSetにも使えるので、ES6構文の中でもとても重要です。

5. Mapとfor...ofを組み合わせて使う

5. Mapとfor...ofを組み合わせて使う
5. Mapとfor...ofを組み合わせて使う

Mapはfor...ofと組み合わせることで、本領を発揮します。名前と中身を同時に取り出せるため、何を処理しているかが一目で分かります。


const scoreMap = new Map<string, number>();
scoreMap.set("国語", 80);
scoreMap.set("算数", 90);

for (const [subject, score] of scoreMap) {
    console.log(subject + ":" + score);
}

国語:80
算数:90

[subject, score]のように書くことで、1つ目が名前、2つ目が中身として自動的に分かれます。TypeScriptでは型があるため、数字と文字を間違える心配も減ります。

6. Setとfor...ofで一覧表示する

6. Setとfor...ofで一覧表示する
6. Setとfor...ofで一覧表示する

Setも同じようにfor...ofで中身を確認できます。重複しない一覧を作りたいときにとても便利です。


const numbers = new Set<number>();
numbers.add(1);
numbers.add(2);
numbers.add(2);
numbers.add(3);

for (const num of numbers) {
    console.log(num);
}

1
2
3

このように、ES6構文を使うことで、コードが短くなり、読みやすくなります。TypeScriptでは型が支えてくれるため、プログラミング未経験の方でも安心して学習を進められます。

7. TypeScriptでES6構文を使うメリット

7. TypeScriptでES6構文を使うメリット
7. TypeScriptでES6構文を使うメリット

TypeScriptでMap・Set・for...ofなどのES6構文を使う最大のメリットは、ミスを減らしながら、分かりやすいコードを書けることです。人間が読んで理解しやすい書き方は、長く使われるプログラムほど重要になります。

最初は箱やリストのイメージで覚えれば十分です。細かい仕組みは、使っていくうちに自然と理解できるようになります。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する
New2
TypeScript
TypeScriptで「Hello World」を出力する手順と解説
New3
JavaScript
JavaScriptの正規表現で先頭・末尾を指定する^と$の使い方
New4
TypeScript
TypeScriptで非同期処理を含むES6構文をテストする方法!初心者のための徹底解説
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
TypeScript
TypeScriptとES6/ESNextの連携ガイド!最新機能を有効にするtarget設定
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの正規表現(RegExp)の基本構文と仕組みを解説
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptのif文の使い方を完全ガイド!初心者でもわかる条件分岐
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptでESLintとPrettierを導入!コード整形ルールを自動で統一する方法
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの配列の要素にアクセスする方法(インデックス番号の使い方)