위 포스팅에서 함수 선언과 함수 표현식 두 가지 방식이 차이점이 거의 없음을 설명했다. 하지만 자바스크립트 엔진이 실행 컨텍스트에 데이터를 불러올 때 중요한 차이점이 존재한다.
함수 선언 방식은 함수 코드가 실행되기 전에 이미 실행 컨텍스트에서 함수를 사용할 수 있지만, 함수 표현식은 해당 함수 코드가 실행이 끝나지 않으면 사용할 수 없다. 자바스크립트에서는 코드가 실행되기 전에 '함수 선언 호이스팅' 과정을 거쳐 함수 선언을 미리 읽고 실행 컨텍스트에 추가한다.
말이 어려우니 예를 통해 살펴보자. 위 함수 선언 방식에는 에러 없이 실행이 잘 된다. sum 함수 선언이 코드 실행 전에 미리 찾아서 위로 올린다.
그렇기에 함..........
[Javascript] Function 타입 3 - 함수 선언식과 함수 표현식의 차이점에 대한 요약내용입니다.
자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.