js 호이스팅

    [JavaScript] 호이스팅(Hoisting)

    개 요 지금의 나는 자바스크립트를 어느정도 사용할 줄은 안다고 하지만 에러발생(특히 휴먼 에러)같은 상황에 직면 했을 때, 아직 JS의 아이덴티티에 대해서는 깊게 모르고 있다는 생각이 들었다. 때문에 JS의 아이덴티티에 대해 차근차근 포스팅해보려고 한다. 개 념 MDN문서에 나와 있는 내용을 그대로 발췌하면 '인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것' 추가적인 설명을 요약해서 덧붙이자면 '함수, 변수(var)와 같은 선언문을 유효 범위의 최상단으로 끌어올린다.' 라고 생각하면 될 것 같다. 따라서 결론적으로 이야기하자면 변수나 함수를 정의하는 코드보다 사용하는 코드가 앞서서 등장할 수 있다. 예를 들면 다음과 같다. // 일반적인 코드 작성 순서 function printNa..