티스토리 뷰

자바스크립트에서 함수의 선언과 표현식을 구별하는 것이 중요하다. 제대로 이해하고 사용하지 않으면 잘못 사용할 소지가 있기 때문이다.


위와 같이 첫번째 방식인 함수 선언은 execution context에 미리 설정되어 있기 떄문에 어디에서나 호출이 가능한데 두번 쨰 방식인 표현식의 경우에는 인터프리터가 해당 라인에 도달했을 때 실행되기 때문에 도달하기 전에 함수를 호출하게 되면 오류가 발생한다.


주의해야 할 점은 함수 선언을 하게되면 글로벌 스코프에 설정이 되기 때문에 잠깐 사용할 함수도 페이지가 종료될 때까지 남아있게 되는 문제가 발생한다.


이를 위해 IIFE(Immediately Invoked Function Expressions)를 사용하여 스코프를 지정해주는 것이 좋다.

댓글
댓글쓰기 폼