Let 및 Const로 선언된 변수 호이스팅
호이스팅은 변수 시작 시 선언을 해당 범위의 맨 위로 이동하는 JavaScript 메커니즘입니다. 프로그램의 실행. 그러나 var 선언과 달리 let 및 const 호이스팅은 변수 초기화 측면에서 다릅니다.
선언 호이스팅
var, let, const, 함수, function* 및 클래스. 즉, 범위 내의 식별자는 항상 선언된 변수를 참조합니다.
호이스팅과 초기화
var/function/function* 선언과 let의 차이점 /const/class 선언은 초기화에 있습니다. var/function/function* 선언은 범위 시작 시 바인딩 생성 시 정의되지 않음 또는 함수 본문으로 초기화됩니다. 그러나 어휘적으로 선언된 변수(let/const/class)는 초기화되지 않은 상태로 유지됩니다.
Let 및 Const에 대한 임시 데드 존
어휘적으로 선언된 변수의 초기화되지 않은 상태는 " 초기화 전에 액세스하면 ReferenceError가 발생합니다. 임시 데드존은 변수 생성부터 let/const/class 문이 실행될 때까지 존재합니다.
Let과 Const의 유사점
let과 const는 모두 동일한 호이스팅을 나타냅니다. 행동. 유일하게 중요한 차이점은 상수는 선언(const one = 1;)에서만 할당해야 하는 반면, let은 재할당을 허용한다는 점입니다.
결론
모든 선언은 JavaScript에서 끌어올려진 let 및 const 변수는 해당 선언문이 평가될 때까지 초기화되지 않은 상태로 유지되어 일시적인 데드존이 생성됩니다. 이러한 구별은 초기화되지 않은 변수를 참조하는 것을 방지하고 코드의 의도된 동작을 보장하는 데 필수적입니다.
위 내용은 JavaScript의 'var'과 비교하여 'let' 및 'const'에 대해 호이스팅이 어떻게 다르게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!