ホームページ >ウェブフロントエンド >jsチュートリアル >var、let、constのスコープ
変数のスコープとは、変数にアクセスできるプログラム内の領域を指します。効率的でエラーのないコードを作成するには、変数のスコープを理解することが重要です。
JavaScript には 3 種類の変数スコープがあります:
var
let
const
var
キーワードvar
キーワードは、1995 年の JavaScript の初期リリースで初めて導入されました。 var
を使用して宣言された変数にはグローバル スコープがあり、プログラムのどの部分でもその変数にアクセスできます。 <code class="language-javascript">var x = 10; function inner() { console.log(x); // 输出:10 } console.log(x); // 输出:10</code>
var
を使用して宣言された変数は、ファイルの先頭に 昇格されます。これは、変数が初期化される前に変数へのアクセスを試みることはできますが、まだ変数に値を割り当てていないため、出力は undefined
になることを意味します。 <code class="language-javascript">console.log(x); // 输出:undefined var x = 10; console.log(x); // 输出:10</code>
let
キーワードlet
キーワードは、2015 年に ECMAScript 6 の導入とともに導入され、ブロックレベルのスコープ機能を提供します。 let
で初期化された変数はブロック スコープを持ちます。したがって、関数やグローバル スコープなどの他のスコープから変数にアクセスすることはできません。 var
とは異なり、let
で宣言された変数を宣言する前にアクセスすると、Temporal Dead Zone (TDZ) によりエラーがスローされます。 <code class="language-javascript">console.log(x); // 输出:引发错误 let x = 10;</code>
<code class="language-javascript">let x = 10; function inner() { console.log(x); // 输出:引发错误 }</code>
const
キーワードconst
を使用して宣言された変数は同じ行で初期化する必要があります。 <code class="language-javascript">const PI = 3.14; console.log(PI); // 输出:3.14</code>
const
で宣言された変数の値を変更しようとすると、実行時に TypeError: Assignment to constant variable
エラーがスローされます。 <code class="language-javascript">const PI = 3.14; PI = 3.5; // 输出:TypeError: Assignment to constant variable.</code>
プログラミングを楽しんでください!
以上がvar、let、constのスコープの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。