함수 호이스팅(Function hoisting), 함수 호이스팅 발생 원인, Uncaught TypeError

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

 

 

함수 호이스팅(Function hoisting)

·       선언적 함수 형태로 함수를 정의할 경우 함수의 유효범위는 코드의 맨처음부터 적용됩니다. 이것을 함수 호이스팅이라고 합니다.

·       함수 호이스팅이 발생하면 함수 사용전에 반드시 선언해야 한다는 규칙을 무시하게 되므로 코드의 구성과 구조를 엉성하게 만들 수 있습니다.

·       그래서, 함수 표현식을 사용한 익명함수를 사용할 것을 권장합니다.

 

 

 

함수 호이스팅 발생 원인

함수 호이스팅 발생 원인은 자바스크립트의 변수 생성작업과 초기화 작업이 서로 분리되어서 진행되기 때문입니다.

 

 

 

Uncaught TypeError

함수 표현식을 사용할 경우 함수 호이스팅이 일어나지 않아 함수 생성전에 호출시 Uncaught TypeError가 발생합니다.