var과 let, const 모두 javascript에서 사용하는 변수이다!
function function(){
if(true){
var a = 1;
console.log(a); //1
}
console.log(a);
}
function(); //1
console.log(a);//ReferenceError: a is not defined
상수를 의미함.
그렇기에, 중복 선언이 불가능하고, 재할당도 불가능하다.
2. 함수, if절 외 for, while 등 모든 코드 블록 내부에서 선언된 변수 코드 블록 내부에서만 유효 (블록 외부부터 참조 불가)
const food = 'cookies';
console.log(food); // cookies
const food = 'chicken';
console.log(food);
//Uncaught SyntaxError: Identifier 'title' has already been declared
food = 'pizza';
console.log(food);
//Uncaught TypeError: Assignment to constant variable
재할당이 필요없는 상수과 객체에는 기본적으로 const를 사용하는 것이 좋다.
재할당이 필요한 경우 한정적으로 let을 사용하는 것이 좋다. 단, 이 때 변수의 스코프는 최대한 좁게 만드는 것이 좋다.