var
var a = 0;
var a = 1;
console.log(a);
function myFunction(){
var b = 2;
var b = 3;
console.log(b);
}
myFunction();
// 1
// 3
let
let a = 0;
let a = 1; //TypeError
function myFunction(){
let b = 2;
let b = 3; //TypeError
if(true){
let c = 4;
let c =5; //TypeError
}
}
함수 안에서 접근 가능한 변수명과 동일한 이름을 가진 변수를 선언하면, 사용한 키워드에 따라 가리키는 대상이 달라진다.
var a = 1;
let b = 2;
function myFunction(){
var a = 3;
let b = 4;
if(true){
var a = 5; //덮어쓴다
let b = 6; //전혀 다른 변수
console.log(a);
console.log(b);
}
console.log(a);
console.log(b);
}
myFunction();
console.log(a);
console.log(b);
//5
//6
//5
//4
//1
//2
좋은 글 잘 읽었습니다, 감사합니다.