[JavaScript]자바스크립트 호이스팅
자바스크립트는 순차적으로 코드가 실행되어 선언문 이후에 변수가 대입되어야 값을 이용할 수 있다고 생각합니다. 하지만, 컴파일러의 역할을 다시 생각해보면, 그것이 아니란 것을 알 수 있습니다. a = 2; var a; console.log( a ); // 출력 : 2 💻 컴파일러는 두번 공격한다. 자바스크립트의 컴파일레이션 단계에서 '렉시컬 스코프' : 모든 선언문을 찾아 적절한 스코프에 연결해주는 과정 var a = 2 var a; a = 2; 자바스크립트는 위 구문을 선언문과 대입문으로 나누어 처리합니다. 선언문: 컴파일레이션 단계에서 처리 대입문: 실행단계에서 처리 👉 '호이스팅' : 변수와 함수 선언문은 선언된 위치 스코프에서 최상단으로 끌어올려지는 동작 ❗ 선언문은 컴파일레이션 단계에서 처리되어,..
2021.08.03