⊗jsPmFVNC 220 of 505 menu

JavaScriptにおける関数内の同名変数

関数の外部と内部の両方に変数 numが存在する場合、ローカル変数 numへの変更はグローバル変数 numに全く影響を与えません:

let num = 1; // グローバル変数 function func() { let num = 2; // ローカル変数 console.log(num); } func(); // 関数を呼び出し、2を出力 console.log(num); // 1を出力 - グローバル変数は変更されていない

しかし、ローカル変数 numletで宣言するのを忘れた場合、 関数内部ではローカル変数numは作成されず、 単にグローバル変数が変更されます:

let num = 1; function func() { num = 2; // letを書くのを忘れた - 外部変数を変更中 console.log(num); } func(); // 関数を呼び出し、2を出力 console.log(num); // 2を出力 - 変数が変更された

ここでは2つの状況が考えられます: 本当にグローバル変数を 変更したかった場合(それなら問題ありません)、または letを忘れて誤ってグローバル変数を 変更してしまった場合です。

2番目のケースはスクリプトの予期せぬ動作を引き起こす、 発見しにくいエラーです。 したがって、新しい変数を作成する際は常に letで宣言してください。

コードを実行せずに、コンソールに何が出力されるか 決定してください:

let num = 1; function func() { num = 2; } func(); console.log(num);

コードを実行せずに、コンソールに何が出力されるか 決定してください:

let num = 1; function func() { let num = 2; } func(); console.log(num);
日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否