반응형
❤ 김춘장이의 위키백과 - 나만의 공부 기록 Tistory ❤
호이스팅
: 간단히 말해서 위로 끌어 올리는 것
순차적으로 코드를 읽어 올때 호이스팅의 여부에 따라서 데이터를 읽어올 수 있거나
없을 수 있다 그 차이점을 알아보자
function sum(){} // 호이스팅가능 const sum = function(){} // 호이스팅불가
변수의 호이스팅
const, var : 호이스팅 가능
let : 호이스팅 불가
함수의 호이스팅
선언식 : 호이스팅 가능
선언식 function fn(){}
표현식 : 호이스팅 불가
표현식 const fn = function(){}
호이스팅의 단계
변수 선언 시 3가지 선언 단계를 지난다
- 선언단계 : 선언한 변수를 식별자(변수명)에 담기는 객체에 할당하는 단계
- 초기화단계 : 변수에 할당 할 메모리 공간을 부여하는 단계
- 할당단계 : 정의된 변수에 데이터가 할당되는 단계
선언과 초기화단계 사이에 TDZ 가 있다
let과 const는 선언단계와 초기화 단계를 진행하여 호이스팅 진행은 되지만 TDZ에
들어가기 때문에 할당된 값이 없는 것으로 인식되면서 그다음 처리를 하지 않는다
var 경 우 선언단계와 초기화 단계가 같이 이루어 지기 때문에 바로 위로 올라가며
undifinded로 할당이 된다(함수와 같은 원리)
개발공부중인 개린이의 포스팅 입니다📝
반응형
'👩🏻💻 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > ⠀⠀⠀⠀ JᴀᴠᴀSᴄʀɪᴘᴛ' 카테고리의 다른 글
🌱Inflearn🌱 JSON (0) | 2023.12.19 |
---|---|
🌱Infearn🌱 WebStorge (0) | 2023.12.19 |
🌱Inflearn🌱 자료형 간단 정리 (0) | 2023.12.19 |
🌱Inflean🌱 DOM (1) | 2023.12.18 |
🌱Inflean🌱 자바스크립트의 함수 (0) | 2023.12.18 |