Scope

861 ワード

スコットランド?
翻訳の意味は範囲です.
つまり、スコットランドは「変数に近い範囲」と言える.
スコフには2つのタイプがあります.
グローバル(global)とゾーン(local)です.
グローバルスコープ(Global Scope)は、その名の通りグローバルに宣言され、どこからでもアクセスできます.
ゾーンスキャンは、そのゾーンからのみアクセスでき、非ゾーンからはアクセスできません.
JavaScriptで関数を宣言するたびに、新しいスキャンが生成されます.関数体に宣言された変数は、その関数内でのみアクセスできます.これは関数体です.これは領域体と呼ばれます.
const a = 1; // 전역 스코프

function print(){ // 지역 스코프
	const a = 2;
	console.log(a);
}

print();  // 2
console.log(a) // 1
print関数でconsole.log(a)arを出力するために,自分の関数走査内で変数aを探す.const a=2が見つかった場合、2はコンソールに出力されます.
print関数の変数aの宣言をクリアすると、コンソールはどの値を出力しますか?関数スキャン内にaは存在しないので、出力aに宣言されたエラーはありませんか?
const a = 1; //전역 스코프

function print(){ //함수 스코프
	console.log(a)
}

print(); //1 
結果は、グローバルスキャンで宣言されたaの値1を出力します.これはscope chainによる現象です.現在、自分のscopeで使用する変数がない場合は、scope chainで変数を検索できます.