더북(TheBook)

단, 함수 선언문과는 다르게 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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.