CreateLife ~AlwaysLatest~

スコープについて

JavaScript

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);