참조 및 메모(My Money): 최신 JavaScript에 대한 필수 가이드 – Alberto Montalesi
1.1 var와 let const의 차이점
바르
기능의 범위에 따라 다릅니다.
for 루프(블록 범위) 내에서 var 키워드로 변수를 선언하면 for 루프 외부에서도 해당 변수를 사용할 수 있습니다.
첫 번째 예 – var 값이 블록 범위를 벗어나더라도 ~을 위한 루프 외부 액세스
두 번째 예 – var는 기능 범위 내에서 제한됩니다. 기능 외부 접근 금지
허용하다
let 키워드로 선언된 변수는 블록 범위를 따릅니다.
변수는 변수가 선언된 블록과 하위 블록 내에서만 사용할 수 있습니다.

끊임없는
const 키워드로 선언된 변수도 블록 범위에 속하지만
let과의 차이점은 재할당 및 재선언이 불가능합니다.
const로 선언된 변수가 반드시 변경 불가능한 것은 아닙니다.
객체의 내용을 불변으로 만들기 상수 개체를 고정할수있다
그러나 개체의 값을 변경하려고 하면 JavaScript에서 오류가 발생하지 않습니다.
1.2 TDZ
TDZ: 임시 데드 존, 임시 비활성 존
바르는 이전에 정의된액세스할 수 있지만 해당 값은 액세스할 수 없음
let과 const 정의 전에는 액세스할 수 없습니다.
var, let, const 모두 다른 출처에서 읽을 수 있는 내용에도 불구하고 승강기주제
코드는 실행 전 처리그리고 그 범위가 무엇이든 정상에 오르다
변수가 선언되기 전에 이미 var에 액세스할 수 있음(정의 전에 정의되지 않은 값)
let은 변수가 선언될 때까지 일시적으로 비활성 영역인 TDZ에 머물러 있습니다.
따라서 초기화 전에 변수에 접근하면 에러가 발생한다.
정의되지 않은 값을 가져오는 것보다 코드를 디버그하는 것이 더 쉽습니다.
나중에 정의되지 않은 값으로 전달하는 대신 var로 선언하면
오히려 미리 오류를 인식하고 나중에 더 큰 오류를 방지하는 것입니다.
그래서 저는 var 대신 let과 const를 자주 사용합니다.
1.3 올바른 위치에서 var, let 및 const 사용
개발자 커뮤니티에서도 각각을 어디에 사용해야 하는지 명확하지 않고,
사람마다 쓰는 방식이 다르므로 나중에 직접 조사해서 어떤 스타일이 좋은지 결정해야 합니다.
책 저자는 기본적으로 const를 사용합니다.
값을 재할당해야 할 때만 loet을 사용하는 것이 좋다고 생각합니다.
1) 마티아스 레벤(https://mathiasbynens.be/notes/es6-const)
- 원래 끊임없는사용하자
- 재할당이 필요한 경우에만 허용하다사용하자
- 바르 ES6에서는 사용되지 않음
2) 카일 심슨(https://me.getify.com/)
- 여러 대규모 범위에서 공유하기 위한 최상위 변수는 다음과 같습니다. 바르사용
- 작은 지역 변수를 가짐 허용하다사용
- 코드가 작성된 후에만 let을 사용하십시오. 끊임없는리모델링 (변수 재할당 이 사실을 분명히 해야 합니다.)