내 세상

[Javascript] 호이스팅(Hoisting) 본문

Language/Javascript

[Javascript] 호이스팅(Hoisting)

sga8 2022. 4. 15. 09:28
728x90
반응형

호이스팅(Hoisting)

  • 함수 내의 모든 선언들을 해당 함수 유효 범위의 최상단에 선언하는 것
    1. Javascript Parser가 함수 실행 전 해당 함수를 확인
    2. 함수 안에 존재하는 변수/함수 선언에 대한 정보를 기억 후 실행
    3. 유효 범위 : 함수 블록 {} 안에서 유효
    4. 즉, 함수 내에서 필요한 값 중 아래쪽에 존재하는 내용을 끌어올리는 것.

 

호이스팅의 대상

  • var 변수 선언 / 함수 선언문
    • var 변수/함수의 선언만 위로 끌어 올려지며, 할당은 끌어올려지지 않는다.
    • let/const 변수 선언과 함수표현식에서는 호이스팅 발생하지 않음
  • Hoisting Before
console.log("First Log");
var testVar = "TISTORY";
console.log("Second Log");
let testVar2 = "TISTORY";
  • Hoisting After
var testVar;

console.log("First Log");
testVar = "TISTORY";

console.log("Second Log");
let testVar2 = "TISTORY";

 

728x90
반응형

'Language > Javascript' 카테고리의 다른 글

[Javascript] Regex/Regular Expression/정규표현식  (0) 2024.04.25