💨
TypeScriptのfor文、for…of、forEachをPythonと比較しながら整理する
【TypeScript】
配列を回す方法が複数ある。
通常のfor
const nums = [1, 2, 3];
for (let i = 0; i < nums.length; i++) {
console.log(i, nums[i]);
}
for…of(要素を順取り)
for (const n of nums) {
console.log(n);
}
forEach(関数で処理を渡す)
nums.forEach((n, i) => {
console.log(i, n);
});
forEachは途中でbreakできない点が特徴。
【Python】
Pythonは構文がシンプル。
for要素
nums = [1, 2, 3]
for n in nums:
print(n)
enumerate(インデックス付き)
for i, n in enumerate(nums):
print(i, n)
【比較ポイント】
- TypeScriptは処理方法が多く用途で選ぶ。簡潔さならfor…of、関数型ならforEach。
- Pythonはforが1種類で直感的。enumerateでインデックスも扱いやすい。
- 途中終了の有無など仕様の違いを理解して使い分けると混乱しない。
Discussion
今なら iterator にも forEach 入りましたね。