변수만들때 let, const, var차이
let 재선언 금지, 재할당 가능
(variable를 업데이트 하고 싶을 때 쓰기)
const 재선언 금지, 재할당 금지 수정가능
(변하지 않을 값일 때 쓰기)
var 재선언 가능, 재할당 가능
const를 주로 쓰되 업데이트가 필요할 때는 let을 쓰고 var는 가급적이면 피하자라고 노마드 코더는 말하고 있음
var을 쓰지 말자고 하는 이유가 뭘까?
중복선언이 가능하기 때문에 계속 해서 잡을 수 없는 오류가 생길것이기 떄문에
호이스팅 때문에
var 키워드를 사용 시, 해당 변수의 선언을 스코프 최상단으로 올려버리는 것을 말한다.
JavaScript의 변수 생성과 초기화의 작업이 분리되어 진행되기 때문에 이런 현상이 발생한다.
var는 함수 스코프 이기 때문에 함수의 최상단으로 올린다(지역변수중 맨 위로 올림).
다른 java같은 언어는 블록스코프로 코드 최상단으로 올린다고함
for문에서도 문제가 발생할 수 있는데
i를 var로 지정해줄 경우 for문이 끝나도 i는 접근이 가능하게 된다.