Hoisting에 대해

박상욱·2023년 2월 5일
0

hoisting은 JavaScript의 개념으로 변수와 함수 선언이 범위 상단으로 이동하는 동작을 말합니다.즉, 이러한 선언은 코드의 어디에 선언되어 있는지에 관계없이 범위 전체에서 액세스 할 수 있습니다.

hoising에든 두가지의 hoisting type이 있습니다.
global hoisting과 function hoisting입니다.

JavaScript에서는 "var" 키워드로 선언된 변수가 호이스팅됩니다.즉, 변수들은 스코프의 맨 위로 이동하며 함수 전체에서 액세스할 수 있습니다.

예를 들어 다음과 같습니다.



  • global hoisting : global hoisting란 변수와 함수 선언이 글로벌 스코프의 상단으로 이동하는 동작을 말합니다.즉, 이러한 선언은 코드의 어디에 선언되어 있는지에 관계없이 프로그램 전체에서 액세스 할 수 있습니다.
console.log(x); // undefined
var x = 5;

보통 변수가x 다음에 선언됩니다.
console.log스테이트먼트는 글로벌스코프 상단으로 올라가기 때문에 액세스 할 수 있습니다.
그래서 보통 var은 global에서 많이 사용 됩니다. 하지만 설정된 값이 변형이 될 수 있으니 참고해서 사용 해야 됩니다.



  • function hoisting : function hoisting 란 함수 선언이 스코프 상단으로 이동하는 동작을 말합니다.즉, 선언이 스코프의 맨 위로 이동하기 때문에 함수는 코드로 선언되기 전에 호출할 수 있습니다.
foo(); // "Hello World!"

function foo() {
  console.log("Hello World!");
}

이 예에서 함수는foo는 호출된 후에 선언되지만 선언이 스코프 맨 위로 올라가기 때문에 계속 액세스할 수 있습니다.

결론적으로, hoisting은 자바스크립트에서 변수와 함수 선언이 코드에서 어떻게 처리되는지에 영향을 미치는 기본 개념이다.효율적이고 효과적인 JavaScript 코드를 작성하기 위해서는 hoisting에 대한 이해가 중요합니다.

profile
Simple_Life

0개의 댓글