알던거지만 그냥 용어 정리 겸
JS에서 쓰이는 Scope.
"선언"된 위치가 상위 scope를 정한다.
"실행"된 위치가 상위 scope를 정한다
var i = 999;
// 함수가 아니라서 새로운 scope가 만들어지지 않음!
for (var i = 0; i < 10; i++) {
console.log(i);
}
console.log(`i in global scope: ${i}`); // 10
var i = 999;
// let은 block level scope라서 새로운 scope를 만들어줌
for (let i = 0; i < 10; i++) {
console.log(i);
}
console.log(`i in global scope: ${i}`); // 999