制御構文: 条件とループ
if/switch で分岐。for/while でループ。
if-else
条件分岐の基本。
for...of
配列要素をイテレート。
for...in
オブジェクトキーをイテレート。
条件分岐
`if-else` が基本ですが、複雑な条件分岐は コードを読みにくくします(ネスト地獄)。「早期リターン(Early Return)」を使って、条件に合わない場合はすぐに関数を抜けることで、コードを平坦で読みやすく保つのがモダンな作法です。
// if-elseif (x > 0) { console.log('positive');} else if (x < 0) { console.log('negative');} else { console.log('zero');}
// 三項演算子const result = x > 0 ? 'positive' : 'non-positive';
// switchswitch (day) { case 'Mon': case 'Tue': work(); break; default: rest();}Bad
// ❌ Bad: ネストが深いif (user) { if (user.active) { if (user.verified) { process(user); } }}Good
// ✅ Good: 早期リターンif (!user) return;if (!user.active) return;if (!user.verified) return;process(user);ループ
// forfor (let i = 0; i < 10; i++) { console.log(i);}
// for...of (配列要素)for (const item of items) { process(item);}
// for...in (オブジェクトキー)for (const key in obj) { console.log(key, obj[key]);}
// whilewhile (condition) { doSomething();}
// do-whiledo { doSomething();} while (condition); Tip: 配列には for...of、オブジェクトには for...in を使う。
合格ライン
for...of と for...in の違いを説明できる
早期リターンでネストを減らせる
演習課題
課題1: 早期リターン
早期リターンでネストを減らしてください。
課題2: for...of
for...of で配列をループしてください。