호이스팅

2020. 6. 14. 17:28·JS
목차
  1. 호이스트, hoist

호이스트, hoist


명사

  • 소형의 감아올리는 장치. 공장 내의 재료 운반·조립에 사용하며, 들보 위에서 이동시킴. 구동 방식에 따라 공기 호이스트·전기 호이스트 등으로 나누어짐

구글의 검색 결과는 올린다는 의미로 명시되어있다.

 

자바스크립트 내에서의 호이스팅 동작을 알아보자.

 

console.log(a());
console.log(b());
console.log(d());

function a() {
    return 'h1';
}

function b() {
    return 'h1';
}


var d = function () {
    return 'd';
}

원래는 오류가 나야 하는 코드 일 것이다. 함수를 선언, 할당하기도 전에 console을 실행 하기 때문이다.

하지만

자바스크립트가 실제로 실행하는 코드 순서는 위와 좀 다르다.

 

function a() {
    return 'h1';
}

function b() {
    return 'h1';
}

var d;
console.log(a());
console.log(b());
console.log(d());

d = function () {
    return 'd';
}

바로 이 코드로 자바스크립트가  함수 선언식은 통째로 올리고 함수 표현식은 변수 선언만 올리고

할당은 나중에 처리한다.

즉 함수선언식과 다르게 함수 표현식은 선언과 할당을 분리가능하다.

 

'JS' 카테고리의 다른 글

ES6 - template literal  (0) 2020.07.21
ES6 - Block scope  (0) 2020.06.21
클로저  (0) 2020.06.08
스코프와 스코프체인 렉시컬스코프  (0) 2020.06.08
blocking(블로킹)이란?  (0) 2020.06.03
  1. 호이스트, hoist
'JS' 카테고리의 다른 글
  • ES6 - template literal
  • ES6 - Block scope
  • 클로저
  • 스코프와 스코프체인 렉시컬스코프
king_hd
king_hd
웹 개발 공부를 위한 블로그입니다.
king_hd
웹 개발 기록
king_hd
전체
오늘
어제
  • 분류 전체보기
    • HTML
    • CSS
    • JS
    • Typescript
    • React
    • nodejs
    • Redux
    • Git
    • 오류모음
    • Webpack
    • 자료구조
    • 네트워크
    • Electron
    • 배포
    • Docker
    • 프로그래머스

블로그 메뉴

  • 홈

링크

공지사항

인기 글

태그

프론트엔드
리덕스사가
react
4차산업혁명동아리
TAVE
webpack
docker mysql workbench 연동하는 법
Redux
Hook
mysqld: can't open file: 'mysql.ibd' (errno: 0 - )
let
ec2에 docker 설치
프로그래머스
env파일 환경변수 인식
타입스크립트
웹퍼블리셔
const
Redux-saga
리덕스
https 인증서 발급
백엔드
웹개발
next.js
JavaScript
자바스크립트
TypeScript
propertykey
코딩테스트
docker
인증서 자동갱신

최근 댓글

최근 글

hELLO· Designed By정상우.v4.6.0
king_hd
호이스팅
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.