let letVariable = () => {
let x = 1;
if (true) {
let x = 2; // 상위 블록과 다른 변수
console.log(x); // 2
}
console.log(x); // 1
}
let varVariable = () => {
var x = 1;
if (true) {
var x = 2; // 상위 블록과 같은 변수
console.log(x); // 2
}
console.log(x); // 2
}
if (true) {
var varVariable = 1;
let letVariable = 2;
}
console.log(varVariable); // 1
console.log(letVariable); // Uncaught Reference Error
let x = 'global';
var y = 'global';
console.log(this.x); // undefined 전역 객체의 속성 x를 생성하지 않음
console.log(this.y); // "global" 전역 객체의 속성 y를 생성