JavaScript에서 var, let, const 각각의 차이점을 조사해 보자
var를 사용하면 변수 선언의 경우 할당되는 값이 유동적으로 변경될 수 있다.
같은 변수 이름이면, 때에 따라서 유동적으로 각각 후행하는 값이 달라질수 있단 얘기
var name="a";
console.log(name); // a를 출력
var name="b";
console.log(name); // b를 출력
재할당은 가능하나, 재선언 불가
같은 이름을 가진 변수가 두 번 선언되면 에러메세지가 뜬다.
let name = "a"
console.log(name); //a 출력
let name = "b"
console.log(name); // SyntaxError: Identifier 'name' has already been declared
그러나, 재할당은 가능하다.
let name = "a";
console.log(name); //a 출력
name = "b";
console.log(name); //b 출력
let name = "a";
console.log(name); // a 출력
let name = "b";
console.log(name); // syntaxError
재할당, 재선언 불가
var x = 2;
function x(){
var x = 5;
console.log(x);
}
x(); //5 출력
console.log(x); // 2 출력
let x = 5;
if(x===5) {
let x=2;
console.log(x); // 2
}
console.log(x); // 5
if문 안에 있는 x는 if문 밖에서는 유효하지 않다