var name = 'html';
console.log(name); // html
var name = 'css';
console.log(name); // css
var로 선언한 변수는 변수중복 선언이 가능
위와 같이 마지막에 할당된 값이 변수에 저장됨 (에러없이 출력됨)
💊 장점
① 변수를 유연하게 사용가능
💣 단점
① 기존에 선언해둔 변수를 잊고 값을 재할당되어 실수할 가능성이 높음
② 코드량이 증가했을때, 같은 이름의 변수명이 여러번 선언되면 문제파악에 어려움이 있음
🖍 ES6이후 - 이를 보완하기 위해 추가된 변수선언방식이 let 과 const
let name = 'html';
console.log(name); // html
let name = 'css';
console.log(name);
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'javascript';
console.log(name); // javascript
var와 다르게 let은 name이 이미 선언되었다는 에러메세지가 출력됨 (중복선언 불가능)
name = 'javascript'와 같이 변수선언 및 초기화이후 반복해서 다른값을 재할당 가능
const name = 'html';
console.log(name); // html
const name = 'css';
console.log(name);
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'javascript';
console.log(name);
// Uncaught TypeError: Assignment to constant variable
let과 const의 차이점은 immutable의 여부
let은 재할당 가능 / const는 재할당시 에러메세지가 출력됨
참고사이트
https://80000coding.oopy.io/e1721710-536f-43f2-823b-663389f5fbfa
https://ledgku.tistory.com/54
https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90
https://www.howdy-mj.me/javascript/var-let-const