Hoisting에 관하여
hoist라는 단어의 의미는 끌어올리기 라는 뜻이다 자바스크립트에서 끌어올려지는 것은 변수이다. var 키워드로 선언된 모든 변수 선언은 호이스트 된다. 호이스트란 변수의 정의가 그범위에 따라 선언 과 할당 으로 분리되는 것을 의미한다. 즉 변수가 함수내에서 정의 되었을경우 선언이 함수의 최상위로 , 함수 바깥에서 정의 되었을 경우, 전역 컨텍스트의 최상위로 변경이 된다.
function getX() {
console.log(x); // undefined
var x = 100;
console.log(x); // 100
}
getX();
다른 언어의 경우엔, 변수 x 를 선언하지 않고 출력하려 한다면 오류를 발생할 것이다. 하지만 자바스크립트에서는 undefined라고 하고 넘어간다. var x = 100; 이 구문에서 var x;를 호이스트하기 때문이다. 즉, 작동 순서에 맞게 코드를 재구성하면 다음과 같다.
function getX() {
var x;
console.log(x);
x = 100;
console.log(x);
}
getX();
Author And Source
이 문제에 관하여(Hoisting에 관하여), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kapuist/Hoisting에-관하여저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)