기명함수 표현식

|

기명함수 표현식이란?

이름이 있는 함수표현식을 말한다.
EX)

// 기명함수표현식 X
const name = function(){
    ...
}
// 기명함수표현식 O
const name = function fn(){
    ...
}

기명 함수 표현식은 함수표현식 내부에서 자기 자신 참조가 가능하고, 기명함수 표현식 외부에서 그 이름을 사용하지 못한다고한다.

EX)

let sayHi = function func(who) {
  if (who) {
    alert(`Hello, ${who}`);
  } else {
    func("Guest"); // func를 사용해서 자신을 호출합니다.
  }
};

sayHi(); // Hello, Guest

// 하지만 아래와 같이 func를 호출하는 건 불가능합니다.
func(); // Error, func is not defined (기명 함수 표현식 밖에서는 그 이름에 접근할 수 없습니다.)