렉시컬 스코핑

고규식·2021년 12월 10일
0
post-thumbnail

렉시컬 스코핑???

⭐️ 스코프는 함수를 호출할때가 아니라 선언할때 생긴다! ⭐️

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을 찾게됩니다.

참조

렉시컬 스코핑

profile
잠실사는 주니어 개발자

0개의 댓글