자바스크립트에서 함수의 선언과 표현식을 구별하는 것이 중요하다. 제대로 이해하고 사용하지 않으면 잘못 사용할 소지가 있기 때문이다.
위와 같이 첫번째 방식인 함수 선언은 execution context에 미리 설정되어 있기 떄문에 어디에서나 호출이 가능한데 두번 쨰 방식인 표현식의 경우에는 인터프리터가 해당 라인에 도달했을 때 실행되기 때문에 도달하기 전에 함수를 호출하게 되면 오류가 발생한다.
주의해야 할 점은 함수 선언을 하게되면 글로벌 스코프에 설정이 되기 때문에 잠깐 사용할 함수도 페이지가 종료될 때까지 남아있게 되는 문제가 발생한다.
이를 위해 IIFE(Immediately Invoked Function Expressions)를 사용하여 스코프를 지정해주는 것이 좋다.
'Programming > JavaScript' 카테고리의 다른 글
자바스크립트의 private 멤버 (0) | 2016.04.24 |
---|---|
자바스크립트에서 함수를 new 연산자를 이용하여 인스턴스 생성 (0) | 2016.04.06 |
자바스크립트 이벤트 중첩 문제(버블링) (0) | 2016.04.05 |
자바스크립트에서 함수 선언 시 주의하자 (2) | 2016.04.05 |
댓글