var、let、constのスコープ

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-22 02:30:14232ブラウズ

Scope of var, let, const

JavaScript変数スコープの詳しい説明

変数のスコープとは、変数にアクセスできるプログラム内の領域を指します。効率的でエラーのないコードを作成するには、変数のスコープを理解することが重要です。

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>
  • このキーワードは ECMAScript 6 で導入され、環境変数、アクセス トークンなどの定数値を保存するために使用されます。主に、将来変更されない定数値を保存するために使用されます。
  • 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。