✏️ 함수 선언문은 이름을 생략할 수 없다.

function (x, y) {
	return x + y;
}
//SyntaxError : Function statements require a function name

✏️ 함수 선언문은 표현식이 아닌 문이다.

function add(x, y) {
	return x + y;
}
//undefined

선언’문’이기 때문에 값이 없어서 변수에 할당할 수 없다.

그러나, 자바스크립트 엔진이 함수 이름을 가지고 암묵적으로 생성한 식별자이다.

이름을 갖는 함수선언문인 경우는 재귀함수가 있다.

함수이름은 함수 내부에서만 유효한 식별자이다.

함수 표현식과의 차이점

함수 표현식은 코드가 실행될 때 평가되며 변수에 할당된다.

즉시 실행되거나 다른 곳에서 사용할 수 있다.

문은 값을 반환하지 않는다.