단, 함수 선언문과는 다르게 function 키워드 다음에 오는 식별자로 함수를 호출하지 않고, 할당한 변수명으로 호출합니다. 그래서 다음처럼 function 키워드 다음에 식별자가 없는 익명 함수도 함수를 호출하는 데 아무 문제없습니다.
10/02/anonymous_func.js
const gugudan = function(){
for(let i=1; i<=9; i++){
console.log(`3 * ${i} = ${3 * i}`);
}
};
gugudan(); // 함수 호출 문제없음
만약 function 키워드 다음에 오는 함수 식별자로 호출하면 어떻게 될까요?
10/02/naming_func_call.js
const gugudan = function naming(){
for(let i = 1; i <= 9; i++){
console.log(`3 * ${i} = ${3 * i}`);
}
};
naming(); // 함수 호출
실행결과
ReferenceError: naming is not defined