Ethan(기린)
그린기린그림 일기
Ethan(기린)
전체 방문자
오늘
어제
  • 전체보기 (43)
    • Language (4)
      • JavaScript (4)
    • Web (0)
      • HTML (0)
    • Problem Solving (29)
      • BOJ (18)
      • 프로그래머스 (10)
    • Computer Science (3)
      • Algorithm & Data Structure (2)
      • Network (1)
    • Error Log (4)
    • Config (1)
      • Test (1)
    • Thinking (2)
      • Retrospect (2)
      • Essay (0)
    • Book (0)

인기 글

최근 글

최근 댓글

태그

  • 알고리즘
  • 완전탐색
  • 객체 지향 프로그래밍
  • 프로그래머스
  • JavaScript
  • Lv. 2
  • 문자열
  • boj
  • OOP
  • Java
  • Java의 정석 3rd Edition
  • Lv. 1
  • 백준
  • Object-oriented programming
  • Problem Solving

티스토리

hELLO · Designed By 정상우.
Ethan(기린)

그린기린그림 일기

Hoisting 요약
Language/JavaScript

Hoisting 요약

2022. 6. 30. 10:58

Hoisting | 호이스팅

  • 변수, 함수의 선언부가 현재 위치한 인접 스코프 내의 시작 지점에서 해당 식별자의 관측이 가능한 자바스크립트 엔진의 컴파일 전처리 과정 중 일부다.
  • 자바스크립트 코드는 실행(런타임)하기 전에 메모리에 실행할 특정 데이터(선언문)를 저장하는데, 이것은 인터프리터 언어의 단점인 컴파일 속도가 느린 단점을 보완하기 위한 과정으로 자바스크립트에서만 가지고 있는 특징 중 하나에 속한다. 이렇게 데이터가 스코프의 맨 위로 올라가는 만큼 변수의 라이프 사이클, 즉 생성과 초기화, 할당 등에 있어서 동작하는 방식(규칙)이 저마다 다르다.

📋 요약

1. 변수 호이스팅 ( var, let, const )

생성된 식별자는 undefined로 초기화

var

- 선언과 초기화 단계가 한 번에 수행 (시작 지점에서 바로 참조, 할당이 가능)

let / const

- 선언과 초기화 단계가 나뉘어 진행

- 선언부에 도달하기 전 까지 값에 대해 접근 할 수 없음 ( TDZ 동안 참조, 할당 불가능 )

2. 함수 호이스팅 ( = 함수 선언문 )

  • 함수 표현식 ⇒ 함수 호이스팅 X ( 변수 호이스팅 O )
  • 변수 호이스팅 보다 먼저 실행되어 식별자를 생성 (생성된 식별자는 함수 객체로 초기화)
  • 선언과 초기화 단계가 한 번에 수행 (시작 지점에서 바로 참조, 호출이 가능)

참조

[링크] You-Dont-Know-JS/ch1.md at 2nd-ed · getify/You-Dont-Know-JS

 

GitHub - getify/You-Dont-Know-JS: A book series on JavaScript. @YDKJS on twitter.

A book series on JavaScript. @YDKJS on twitter. Contribute to getify/You-Dont-Know-JS development by creating an account on GitHub.

github.com

[링크] 호이스팅에 대한 오해와 진실

 

호이스팅에 대한 오해와 진실

…

tecoble.techcourse.co.kr

 

저작자표시 비영리 (새창열림)

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

코어 자바스크립트 스터디 회고  (0) 2022.12.30
var, let, const  (0) 2022.06.30
API와 브라우저의 객체 구조  (0) 2021.10.22
    'Language/JavaScript' 카테고리의 다른 글
    • 코어 자바스크립트 스터디 회고
    • var, let, const
    • API와 브라우저의 객체 구조
    Ethan(기린)
    Ethan(기린)

    티스토리툴바