스코프 : 범위, 함수를 선언할 때 만들어진다.
전역변수 / 지역변수
스코프체인 : 찾는 변수가 내부에 없으면 외부로 -> 전역으로 이어서 찾아가는 것
내부에선 외부로 참조 가능, 외부에서 내부는 참조 불가
var globalName = 'globalName'; // 전역변수
function outer() {
console.log('외부에서 전역호출', globalName);// 외부에서 전역호출
var outName = 'outName';
function inner() {
console.log('내부에서 전역호출', globalName); //내부에서 전역호출
console.log('내부에서 외부호출', outName);
var inName = 'inName';
}
inner();
}
outer();
console.log(outName); // outName is not defined
console.log(inName); // inName is not defined
렉시컬 스코프 (Lexical Scope) : (어휘적 범위) 함수는 선언될때 범위가 만들어진다.
var name = 'Mike';
function log() {
console.log(name);
}
function wrapper() {
var name = 'Sally';
log();
}
wrapper();
'programming > Javascript' 카테고리의 다른 글
이벤트 버블링과 캡처링 (0) | 2022.03.11 |
---|---|
[Javascript] 실행 컨텍스트 (0) | 2022.03.06 |
[Javascript] 함수선언문 & 함수표현식 & 화살표함수()=>{} 비교(호이스팅, this 관점에서) (0) | 2022.03.06 |
[Javascript] 제너레이터 (Generator) 이터러블, 이터레이터와 비교 (0) | 2022.03.05 |
[Javascript] (iterable 프로토콜, iterator 프로토콜) of [iteration 프로토콜] (0) | 2022.03.05 |