Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- KAKAO
- git
- nodejs
- 국비지원
- 자바스크립트
- CSS
- LinkSnap
- cpu
- 프론트엔드개발자
- 그리디
- 코테
- 백준
- Javascript
- BFS
- html/css/js
- 컴퓨터과학
- 국비지원취업
- DFS
- 야놀자
- 부트캠프
- github
- 너비우선탐색
- 호이스팅
- 컴퓨터공학
- 패스트캠퍼스
- js
- 알고리즘
- 코딩테스트
- CS
- computerscience
Archives
- Today
- Total
My Boundary As Much As I Experienced
호이스팅의 이유 본문
JavaScript 엔진은 코드를 실행하기전 실행 컨텍스트(Execution Context)라는것이 생성됩니다.
실행 컨텍스트는 생성 단계(Creation Phase)와 실행 단계(Execution Phase)라는 2개의 단계를 거치는데
생성 단계는 코드를 읽기 전, 실행 단계는 실제 코드를 읽는 단계를 말합니다.
- var의 경우 생성단계에서 변수 선언&초기화가 함께 진행되므로, 변수 객체 등록과 동시에 메모리 공간도 할당 받는다.
- 그렇기 때문에 메모리를 할당받은 상태이므로 호이스팅시 메모리 참조를 통해 변수 접근이 가능하다.
- let과 const의 경우 생성 단계에서 변수 선언은 하지만 초기화를 하지 않고 TDZ(Temporary Danger Zone)에 보관한다.
- 그래서 제대로 할당이 일어나지 않은 상황에서 let과 const로 만든 변수에 접근하려고 하면 에러가 발생한다.
'FrontEnd > Javascript(Vanilla)' 카테고리의 다른 글
브라우저 렌더링 과정 (0) | 2023.10.31 |
---|---|
클로저, 렉시컬 스코프 (정리중) (0) | 2023.09.05 |
이벤트 위임 (0) | 2023.08.29 |
패스트캠퍼스X야놀자 프론트엔드 개발 부트캠프) 사진 관리자 백오피스 서비스 만들기 (0) | 2023.08.28 |
js) 자바스크립트로 체크박스에서 체크된 요소만 모두 찾기 (0) | 2023.08.28 |