[JS]-スキャン(scope)
3088 ワード
Scope ?
🌟 各定数や変数などの要素の領域、範囲を許可します.
1グローバルスキャン
let name = "hyelin";
function print(){
console.log(name); // hyelin
}
print();
console.log(name); // hyelin
👉🏻 グローバル範囲として宣言された変数
2”エリア(ローカル)スキャン
const color = 'blue'
const returnColor = () => {
const color = 'red'
return color;
};
console.log(returnColor()); // red
👉🏻 グローバル変数は、任意の場所からアクセスおよび変更できます
🌟 グローバル変数を最小化する方法
1朕グローバル変数オブジェクトの作成と使用
const MYAPP = {};
MYAPP.student = {
name: 'Lee',
gender: 'male'
};
console.log(MYAPP.student.gender);
###2インスタント実行関数(IIFE,Immedialy-Invoked Function Expression)を使用-このメソッドを使用して、グローバル変数を作成するのではなく、関数がすぐに実行された直後にグローバルから消去します.
3π関数走査
if (true) {
var num = '12345';
}
num; // '12345'
function newNum () {
var num = '12345';
}
num; // error
4
let
,const
宣言された変数はブロックスキャンモードに従う.
function myName () {
// "if" block scope
let name = "hyelin";
console.log(name); // "hyelin"
}
// console.log(name)
if (true){
// "if" block scope
const name = "hyelin";
console.log(name); // "true"
}
console.log(name); // ReferenceError: message is not defined
Lexical Scope
const variable = 'world';
function A(){
const variable = 'test';
B();
}
function B(){
console.log(variable);
}
A();
//output = 'world'
Scope Chain
👉🏻 これはスコフ鎖と呼ばれています
-文を実行する場所に応じてサブスキャンポイントから開始し、必要な値が見つかるまで親スキャンポイントに沿って移動してナビゲートします.これはScope Chainの基本的な動作原理です.
Reference
この問題について([JS]-スキャン(scope)), 我々は、より多くの情報をここで見つけました https://velog.io/@effypark/JS-스코프-scopeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol