⊗jsPmCdScp 134 of 505 menu

JavaScriptにおけるif-else内の変数のスコープ

簡単のために、常に真となる 条件を用意しましょう:

if (true) { }

次のコードを見てみましょう:

if (true) { let res = '!'; } console.log(res);

ご覧の通り、変数 res には 値 '!' が代入されるはずです。しかし、 このコードを実行すると、コンソールに エラーが表示されます!

これは、中括弧 { } の内側で宣言された変数は、 その中括弧の内側でのみ参照可能であり、外側からは 見えないためです。専門的には、 これは 変数のスコープ についての話です。

中括弧内で宣言された変数のスコープは、 その中括弧内だけであると言えます。しかし、 中括弧の外側で宣言された変数は、 その内側でも外側でも参照可能です:

let res; // 変数は外側で宣言 if (true) { res = '!'; } console.log(res); // '!' を表示

次の例では、変数 res に 条件に応じて値 1 または 2 を 代入しています:

let num = 5; if (num >= 0) { let res = 1; } else { let res = 2; } console.log(res);

しかし、このコードを実行すると、コンソールに エラーが表示されます。今ではおわかりのように、 原因は変数の可視性です。問題を解決するために、 条件の外側で変数を宣言しましょう:

let test = true; let res; // 条件の外側で変数を宣言 if (test) { res = 1; } else { res = 2; } console.log(res); // 1 を表示

以下のコードの作者は、年齢が 18 歳に 達しているかどうかを確認しようとしました。 しかし、コードは動作しません。 作者のコードの誤りを修正してください。問題のコードはこちらです:

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否