スコープについて
JavaScriptの核でもある「this」の扱いにおいてこの「スコープ」の理解をしっかり抑える事が重要
定義
変数を参照できる範囲の事
種類
- グローバルスコープ
- ローカルスコープ
- 関数スコープ
- ブロックスコープ
// グローバルスコープにあるグローバル変数
const value = 'hello';
const hoge = 'fuga';
// グローバルスコープ => ローカルスコープは参照不可
console.log(foo); // undefined
function add(num1, num2) {
// ローカルスコープにあるローカル変数
const value = num1 + num2;
// ローカルスコープが優先される(シャドーイング)
console.log(value); // 5
const foo = 'foo';
// ローカルスコープ => グローバルスコープは参照可能
console.log(hoge); // fuga
return value;
}
add(2,3);