ES6에 새로운 기능들이 많이 생기면서 등장한 let 과 const
그동안에 써왔던 var과의 차이점에 대해 조사해봤다.
(var: 전역 범위 또는 함수 범위)
var 의 문제점으로는 의도치않은 재정의로 인해 뜻밖의 출력결과를 맞이할 수 있으며, 많은 버그를 일으킨다.
따라서 let 과 const 의 기능이 떠오르는 샛별이 되었다.
let으로 선언된 변수는 {} 중괄호를 쓴 해당 블록안에서만 구현되며, let으로 선언된 변수는 해당 블록내에서 업데이트 될 수 있다.(블록범위)
그러나 var 와 다르게 let 변수는 범위 내에서 재선언 할 수 없다.
const로 선언된 변수는 일정한 상수 값을 유지한다.
let 과 마찬가지로 해당블록안에서만 구현할 수 있지만 const는 let과 var과는 다르게 업데이트도 재선언도 불가능하다.
(블록범위)
(개체의 속성은 업데이트 가능)
따라서 const는 선언하는 당시에 초기화되어야 한다.
세 가지 모두 최상위로 호이스팅되지만 var는 defined로 초기화되고
let과 const는 초기화되지않는다.