var와 let 둘다 변수 선언 방식이다.
var에는 큰 단점이 있는데 아래와 같이 코드를 작성해도 에러가 나지 않는다.
var a = apple;
console.log(a); // apple
var a = banana;
console.log(a); // banana
짧은 길이의 코드에서는 문제 없지만 코드가 길어지면 변수파악이 힘들어져 유지 보수등에 어려움을 겪는다.
그래서 ES6이후 let이 생겨났다.
let a = apple;
console.log(a) // apple
let a = banana;
console.log(a)
// Uncaught SyntaxError: Identifier 'name' has already been declared
let에서는 이미 있는 변수라고 나타나면서 에러가 나온다.
var a = apple;
console.log(a); // apple
a = banana;
console.log(a); // banana
위의 예처럼 재할당은 가능하다.
따라서 가장 큰 차이는 let은 재선언이 되지 않고 재할당이 가능하다.
상수는 변수의 재선언 및 재할당 둘다 불가능하다.
const a = apple;
console.log(a); // apple
const a = banana;
console.log(a); // Uncaught SyntaxError: Identifier 'name' has already been
a = banana;
console.log(a); // Uncaught SyntaxError: Identifier 'name' has already been
재할당이 없는 경우는 const 재할당이 필요한 경우는 let을 사용하는 것이 좋다고 생각한다.
Normaltic Study 4주차 1일