[자바스크립트] why hoisting?

김학재·2021년 1월 26일
0

자바스크립트

목록 보기
11/17
post-thumbnail

자바스크립트 공부를 하다보니 계속 hoisting이라는 단어가 등장한다.
hoisting이 함수, var 변수의 선언을 위로 끌어올리는 역할을 한다는 것은 알았는데 도대체 왜 이런 개념이 존재하는 것일까?

브랜든 아이크의 트윗 - hoisting

인터넷에 많은 설명이 존재하지만 설명의 출처나 내용이 모호한 부분이 많은 것 같아서 자바스크립트의 창시자인 브랜든 아이크의 트윗을 빌려왔다.

요약하자면 함수 hoisting을 통해 선언 전 호출을 가능하게 했고, 이 과정에서 의도치 않은 var hoisting이 발생했다고 한다.

이를 해결하기 위해 ES6에서 let 개념이 등장하게 되었고, 기존에 허용되던 선언 전 호출 등의 동작을 방지하는 use strict 키워드가 ES5에서 등장하게 된다.

참고 자료 : [자바스크립트]Hoisting - Diana Lee

profile
YOU ARE BREATHTAKING

0개의 댓글