for…of 文とは何か
for...of 文は、配列や文字列など「繰り返し可能なデータ(イテラブル)」の要素を順番に取り出すためのループ構文です。インデックス番号を意識せずに「中身だけ」を扱えるので、初心者にも分かりやすく、読みやすいコードが書けます。
基本構文と流れ
構文は次のようになります。
for (let element of 配列や文字列) {
// element に要素が順番に入る
}
JavaScriptelementには配列や文字列の「要素」が順番に代入されます。- 配列なら値そのもの、文字列なら文字が1文字ずつ取り出されます。
例題で理解する
例題1:配列の要素を順番に表示
const fruits = ["apple", "banana", "orange"];
for (let fruit of fruits) {
console.log(fruit);
}
JavaScript結果は以下のようになります。
apple
banana
orange
インデックス番号を使わずに、要素だけを簡単に取り出せます。
例題2:文字列を1文字ずつ処理
const word = "Hello";
for (let char of word) {
console.log(char);
}
JavaScript結果は以下のようになります。
H
e
l
l
o
文字列を1文字ずつ処理できるので、文字単位の操作に便利です。
例題3:Set や Map にも使える
for...of は配列や文字列だけでなく、Set や Map などのイテラブルにも使えます。
const set = new Set([1, 2, 3]);
for (let value of set) {
console.log(value);
}
// 出力: 1, 2, 3
JavaScriptconst map = new Map([
["name", "Taro"],
["age", 20]
]);
for (let [key, value] of map) {
console.log(key, ":", value);
}
// 出力: name : Taro, age : 20
JavaScriptfor…in との違い
for...in: キー(インデックスやプロパティ名) を取り出す。for...of: 値(要素そのもの) を取り出す。
配列の中身を扱いたいときは for...of、オブジェクトのキーを扱いたいときは for...in が適しています。
注意点とコツ
インデックスが必要なら通常の for 文を使う
for...of は値だけを取り出すので、インデックス番号が必要な場合は通常の for 文や forEach を使う方が良いです。
読みやすさを優先できる
「配列の中身を順番に処理する」だけなら for...of が最もシンプルで分かりやすい書き方です。
まとめ
for...ofは「配列や文字列などの要素を順番に取り出す」ループ。- インデックスを意識せずに中身だけを扱えるので初心者向け。
- 配列、文字列、Set、Map など幅広く使える。
for...inはキーを取り出す、for...ofは値を取り出すという違いを覚えると理解しやすい。
初心者は「for…of は中身を順番に取り出すループ」と覚えるとスムーズに使いこなせます。
