함수 선언의 차이점
두 가지 함수 선언 방식은 동일하지만, 중요한 차이가 있습니다: Function Declaration으로 선언된 함수는 선언되기 전에 접근하더라도 사용 가능합니다.
예시를 확인하세요:
// 함수 선언 전에 접근:
func(); // '!' 출력
function func() {
console.log('!');
}
반면 함수 표현식은 코드 실행 시점에 생성되므로 위쪽에서는 접근할 수 없습니다. 따라서 다음 코드는 오류를 발생시킵니다:
func(); // 오류, 아직 함수가 존재하지 않음!
let func = function() {
console.log('!');
};
Function Declaration 방식으로 함수를 생성하세요. 선언 위치보다 위에서도 접근 가능한지 확인하세요.
Function Expression 방식으로 함수를 생성하세요. 선언 위치보다 위에서는 접근 불가능한지 확인하세요.