JavaScript の変数スコープ

Hemank Mehtani 2023年10月12日
  1. JavaScript で変数のスコープをブロックする
  2. JavaScript の変数のローカルスコープ
  3. JavaScript の変数のグローバルスコープ
JavaScript の変数スコープ

変数のスコープは、プログラム内の変数のアクセシビリティまたは可視性です。

JavaScript には 3 種類の変数スコープがあります。これらは、ブロックスコープ、ローカルスコープ、およびグローバルスコープです。

この記事でこれらについて説明しましょう。

JavaScript で変数のスコープをブロックする

2015 年に ES6 が導入される前は、Javascript にはグローバルスコープと関数スコープしかありませんでした。ES6 の導入後、letconst という 2つの新しいキーワードが導入されました。これらのキーワードにより、ブロックスコープが可能になりました。

中括弧 {} 内で宣言された変数は、ブロックの外側からアクセスできないため、ブロックスコープに分類されます。

以下のコードを参照してください。

{ let a = 17; }
// a cannot be used here from outside the block

キーワード var を使用して宣言された変数は、ブロックスコープを持つことができません。

例えば、

{ var a = 17 }
// a can be used here from outside the block

JavaScript の変数のローカルスコープ

JavaScript の変数は、関数内で宣言されたときにローカルスコープを持ちます。これらは、関数の外部からアクセスすることはできません。

例えば、

function sampleFunction() {
  let myName = 'Hemank';
}
// myName cannot be accessed here

varlet、および const キーワードで宣言された変数はすべて関数スコープを持っています。

JavaScript の変数のグローバルスコープ

関数の外部で定義されているすべての変数はグローバルです。これらはプログラムのどこからでもアクセスでき、機能に限定されません。

例えば、

let myName = 'Ella'
// we can access the above variable here

function sampleFunc() {
  // myName can be access from within a function as well.
}

上記のコードでは、変数 myName の宣言は関数の外にありました。したがって、グローバルになり、関数内または関数外から使用できます。

関連記事 - JavaScript Variable