//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
(클로저 개념!!!)