호이스팅(Hoisting)

bubobubobo·2022년 9월 13일
0

Tech Interview

목록 보기
1/1
post-thumbnail

JavaScript는 브라우저에 load되었을 때, 코드가 실행되기 이전(runtime 이전)에 JavaScript engine의 parser에 의해 평가되는 단계를 거칩니다. 이 평가 단계에서 const, let, var와 같은 키워드로 선언된 변수들은 각 키워드가 갖는 스코프의 렉시컬 환경에 미리 기록됩니다. 이렇게 변수 식별자가 코드의 실행 이전에 코드 맨 위로 끌어올려지듯이 미리 기록되는 것을 호이스팅이라 합니다.

호이스팅은 JavaScript의 언어적 특성을 잘 살려주는 현상입니다. JavaScript는 초기에는 전문적인 개발자가 아닌, 웹페이지를 만들고 싶어하는 사람들을 위한 쉬운 언어였습니다. 또한 다양한 기능을 가진 컴포넌트들이 합쳐져 보여지기 때문에 다른 언어에 비해 에러에 둔감할 필요가 있었습니다. 브렌던 아이크(Brendan Eich) 씨는 이를 위해 변수의 선언과 초기화가 코드의 평가 단계에서 일어난 뒤

profile
Analyze... Develop!

0개의 댓글