자바스크립트 scope 정리

김대익·2021년 9월 28일
0
//Global scope
let AOS = "heros of the storm";

function game() {
  //Local scope
  let AOS = "league of legends";
  let MMORPG = "WOW";
  console.log(AOS)
}

console.log(AOS);
console.log(MMORPG); 
// function의 scope안에 있으므로 Global scope에서는 MMORPG를 읽을 수 없다.
game();
/*
Lexical scope란
scope가 함수를 어디서 호출하는지가 아니라 어디에 "선언하였는지에 따라 결정된다는 것이다.
 */
var number = 1;
function a() {
  var number = 10;
  b();
}

function b() {
  console.log(number);
}
//선언이 밖에 되어 있기 때문에 a()가 10이 아니라 1이 나온다.
a(); // 1
b(); // 1

(클로저 개념!!!)

https://poiemaweb.com/js-execution-context

0개의 댓글