はじめに
この記事ではTypeScriptにおける繰り返し文を解説します。
for
for文は一番一般的な繰り返し制御の構文になります。
以下のように記載します。
for (let i = 0; i < 5; i++) {
console.log(`${i}回目のループです。`);
}
// "0回目のループです。"
// "1回目のループです。"
// "2回目のループです。"
// "3回目のループです。"
// "4回目のループです。"
for … in
for … in文はオブジェクトにあるプロパティに対して反復処理を行う構文になります。
配列も同様も操作可能ですが、配列の要素ではなくインデックスを取得されます。
以下のように記載します。
const obj = { key1: 'val1', key2: 'val2', key3: 'val3' };
for (let i in obj) {
console.log(i);
}
// "key1"
// "key2"
// "key3"
for (let i in obj) {
console.log(obj[i]);
}
// "key1"
// "key2"
// "key3"
const arr = [1, 2, 3];
for (let i in arr) {
console.log(i);
}
// "0"
// "1"
// "2"
for … of
for … of文はオブジェクトにあるプロパティの値に対して反復処理を行う構文になります。
配列も同様も操作可能ですが、配列のインデックスでなく要素が取得されます。
以下のように記載します。
const arr = [1, 2, 3];
for (let i of arr) {
console.log(i);
}
// 1
// 2
// 3
以下のようにobjはイテレーターを持っていないため、コンパイルエラーとなります。
const obj = { key1: 'val1', key2: 'val2', key3: 'val3' };
for (let i of obj) {
console.log(i);
}
// Type '{ key1: string; key2: string; key3: string; }' must have a '[Symbol.iterator]()' method that returns an iterator.
Array.forEach
Array.forEachは配列に対して反復処理を行う構文です。
以下のように記載します。
const animals = ['dog', 'cat', 'pig', 'monkey']
animals.forEach((animal) => {
console.log(animal);
});
// "dog"
// "cat"
// "pig"
// "monkey"
以下のように、繰り返し中にインデックスや反復元の配列も参照できます。
const animals = ['dog', 'cat', 'pig', 'monkey']
animals.forEach((animal, index, arr) => {
console.log(`${arr}の${index}番目の動物は${animal}です。`);
});
// "dog,cat,pig,monkeyの0番目の動物はdogです。"
// "dog,cat,pig,monkeyの1番目の動物はcatです。"
// "dog,cat,pig,monkeyの2番目の動物はpigです。"
// "dog,cat,pig,monkeyの3番目の動物はmonkeyです。"
while
while文は指定した条件が満たされている間はずっと繰り返しを行う構文です。
反復処理を行う前に条件が満たされているかを判定します。
そのため、条件によってはwhileブロックが一度も実行されない場合があります。
以下のように記載します。
let count = 0;
while (count < 3) {
console.log(count);
count++;
}
// 0
// 1
// 2
条件が常にtrueとなる場合は無限ループとなります。
let count = 0;
while (count < 3) {
console.log(count);
}
// 0
// 1
// 2
.
.
.
以下のようにbreak文でwhileブロックを抜けることができます。
let count = 0;
while (count < 100) {
console.log(count);
count++;
if (count === 5) {
console.log('whileブロックを抜けます');
break;
}
}
// 0
// 1
// 2
// 3
// 4
// "whileブロックを抜けます"
do … while
do … while文は指定した条件が満たされている間はずっと繰り返しを行う構文です。
反復処理を行った後に条件が満たされているかを判定します。
そのため、doブロックは少なくとも一度は実行されます。
以下のように記載します。
let count = 0;
do {
console.log(count);
count++;
} while (count < 3);
// 0
// 1
// 2
以下のように条件文にfalseを入れて実行してみると、doブロックが少なくとも一回は実行されていることがわかります。
do {
console.log('少なくとも一回は実行されます。');
} while (false);
// "少なくとも一回は実行されます。"
まとめ
この記事ではTypeScriptにおける繰り返し文を解説しました。
是非、いいねやコメントをお願いします。
コメント