자바스크립트로 함수를 선언할때 표현식, 선언문으로 함수를 작성한다. 그럼 선언문, 표현식은 어떤 차이가 있을까?
1. 함수 선언문은 독자적인 구문임, 함수 선언문은 코드 블록이 실행되기도 전에 처리됨
// 함수 선언문
function sum(a, b) {
return a + b;
}
함수 선언문은 선언문이 정의되기전 호출할 수 있음.
2. 함수 표현식은 실제 실행 흐름이 해당 함수에 도달했을 때 함수를 생성, 따라서 실행 흐름이 함수에 도달했을 때부터 해당 함수를 사용할 수 있음.
// 함수 표현식
let sum = function(a, b) {
return a + b;
};
정리,
웬만하면 함수 선언문을 작성하여 독립적인 코딩이 가능 즉 선언의 위치에 상관없이 함수를 호출할 수 있음.
함수 표현식은 함수 선언문을 사용하는게 부적절할 때 사용