01 var, let, const


참조 및 메모(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을 사용하십시오. 끊임없는리모델링 (변수 재할당 이 사실을 분명히 해야 합니다.)