JavaScript の変数スコープ
Hemank Mehtani
2023年10月12日
変数のスコープは、プログラム内の変数のアクセシビリティまたは可視性です。
JavaScript には 3 種類の変数スコープがあります。これらは、ブロックスコープ、ローカルスコープ、およびグローバルスコープです。
この記事でこれらについて説明しましょう。
JavaScript で変数のスコープをブロックする
2015 年に ES6 が導入される前は、Javascript にはグローバルスコープと関数スコープしかありませんでした。ES6 の導入後、let
と const
という 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
var
、let
、および 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
の宣言は関数の外にありました。したがって、グローバルになり、関数内または関数外から使用できます。