Early ReturnとGuard Clause
early returnとguard clauseで条件を簡潔にし、ネストを減らして、正常系の流れを明確にします。
「Early ReturnとGuard Clause」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全3レッスンが含まれています。
導入
目標: 無効な入力に対して早期に戻ることで、正常系を短く保ち、より明快な関数を書きます。
- 早期リターン
- ガード節
- ネストの削減

ガード節を使わない場合
ネストによって主要な処理が if の内側に押し込まれるため、読みにくくなりやすくなります。
// Nested style without guard
function welcome(name) {
if (name) {
const message = "Hello, " + name + "!";
console.log(message);
} else {
console.log("Name required");
}
}
welcome("Ayla");
welcome("");

ガード節へのリファクタリング
無効な入力を最初に処理し、その後はインデントを減らした正常系を書きます。
// Guard clause: return early for bad input
function welcomeSafe(name) {
if (!name) {
console.log("Name required");
return;
}
const message = "Hello, " + name + "!";
console.log(message);
}
welcomeSafe("Ayla");
welcomeSafe("");

複数のガード節
ルールごとに小さなガード節を1つ使ってください。早期リターンを使うたびに、深いネストが不要になります。
// Multiple guard clauses keep each rule small
function divide(a, b) {
if (typeof a !== "number" || typeof b !== "number") {
console.log("Numbers only");
return;
}
if (b === 0) {
console.log("Cannot divide by zero");
return;
}
const result = a / b;
console.log("Result:", result);
}
divide(6, 3);
divide(6, 0);
divide("6", 3);

returnによるネストの削減
失敗するケースでは早期にreturnし、最後の行で成功を明確に返します。
// Early returns reduce else blocks
function canVote(age) {
if (typeof age !== "number") {
return false;
}
if (age < 18) {
return false;
}
return true;
}
console.log(canVote(20));
console.log(canVote(15));
console.log(canVote("20"));

ガード節のヒント
チェックリスト:
- 最初に入力を検証してください。
- エラーや特殊なケースでは早期にreturnしてください。
- 各ガード節を短く具体的に保ってください。
- 最後に正常系をフラットに記述してください。

ガード節クイズ
クイックチェック: ガード節とは何でしょうか。

まとめ
まとめ: ガード節を使って不正な入力を最初に処理し、早期にreturnすることで、主要なロジックをフラットで読みやすく保てます。

よくある質問
「Early ReturnとGuard Clause」レッスンは無料ですか?
はい。「Early ReturnとGuard Clause」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全3レッスンが含まれています。
「Early ReturnとGuard Clause」で何を学びますか?
early returnとguard clauseで条件を簡潔にし、ネストを減らして、正常系の流れを明確にします。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
JavaScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。
「Early ReturnとGuard Clause」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJavaScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- if/elseとswitch――基本パターン
- Loop:for、while、do…while、for…ofとfor…in
- Early ReturnとGuard Clause