IdoCleanCode
article thumbnail
Published 2024. 9. 15. 13:43
[JavaScript] 호이스팅 Tutorials/JavaScript
반응형

자바스크립트의 호이스팅은 변수와 함수 선언이 스코프의 최상단으로 끌어올려져 선언전에 사용할 수 있게 해주는 특성입니다.

변수 호이스팅

var 선언

var로 선언된 변수는 선언부만 호이스팅되며 초기화는 원래 위치에서 이루어집니다. 초기화 이전에 변수를 참조하면 undefined가 반환됩니다.

console.log(a); // undefined
var a = 5;
console.log(a); // 5

 

let과 const선언

let과 const로 선언된 변수도 호이스팅되지만, Temporal Dead Zone때문에 초기화 이전에 접근하지못하고 ReferenceError가 발생합니다..

console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 10;

 

함수 호이스팅

함수 선언

함수 선언문은 전체 스코프에서 호이스팅되어 선언 위치와 관계없이 호출할 수 있습니다.

console.log(myFunc()); // "Hello"
function myFunc() {
    return "Hello";
}

 

함수 표현식

함수 표현식은 호이스팅되지 않습니다. 변수의 선언만 호이스팅되므로, 초기화 이전에 호출하면 TypeError가 발생합니다.

greet(); // TypeError: greet is not a function
var greet = function() {
  console.log("Hello");
};

 

https://idocleancode.tistory.com/424

 

[자바스크립트] 학습 로드맵

자바스크립트 소개자바스크립트란?자바스크립트 역사자바스크립트 실행 방법자바스크립트 변수변수의 선언 참고 자료https://roadmap.sh/javascript JavaScript Developer Roadmap: Step by step guide to learn JavaScr

idocleancode.tistory.com

 

관련자료

반응형

'Tutorials > JavaScript' 카테고리의 다른 글

[JavaScript] 스코프  (1) 2024.09.23
[JavaScript] 변수 네이밍 규칙  (1) 2024.09.23
[JavaScript] 변수의 선언  (2) 2024.09.07
[JavaScript] 자바스크립트 실행 방법  (1) 2024.09.07
[JavaScript] 자바스크립트 역사  (2) 2024.09.07
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!