렉시컬 스코핑???
⭐️ 스코프는 함수를 호출할때가 아니라 선언할때 생긴다! ⭐️
var name = "jamsilcrop"
function log(){
console.log(name);
}
function wrapper(){
name = "jamsilbegger";
log();
}
wrapper();
콘솔에는 뭐가 찍힐까요?!
정답은 : jamsilbegger
이유 : name을 wrapper 함수에서 name = "jamsilbegger"로 재선언 해주었기 때문, 바꾸어주었다.!
var name = "jamsilcrop"
function log(){
console.log(name);
} // 선언될때 이때!!!!!!
function wrapper(){
var name = "jamsilbegger";
log(); // 함수 호출
}
wrapper();
콘솔에는 뭐가 찍힐까요?!
정답은 : jamsilcrop
이유 : 렉시컬 스코핑(lexical scoping)에 의해 log 함수안의 name변수는 log 함수가 선언될때 자기 스코프에서 시작에서 가장 가까운 name을 찾게됩니다.