[javascript] 익명 함수와 기명 함수

JavaScript에서 함수를 정의하는 방법에는 익명 함수와 기명 함수가 있습니다. 각각의 방식에 대해 알아보고, 각각이 어떤 상황에서 사용되는지 살펴보겠습니다.

익명 함수 (Anonymous Functions)

익명 함수란 이름 없이 정의된 함수를 말합니다. 즉, 함수 이름이 없기 때문에 변수에 할당된 함수로 사용됩니다. 아래는 익명 함수의 예시입니다.

var myFunction = function() {
  // 함수 로직
};

위의 예시에서 myFunction에는 익명 함수가 할당되었습니다. 이 함수는 이름이 없기 때문에 변수명으로만 참조할 수 있습니다.

기명 함수 (Named Functions)

기명 함수는 함수에 이름을 지어 정의하는 방식을 말합니다. 아래는 기명 함수의 예시입니다.

function namedFunction() {
  // 함수 로직
}

기명 함수는 이름을 가지고 있기 때문에 부르거나 참조할 때 이름으로 사용됩니다.

언제 사용해야 할까요?

익명 함수는 주로 콜백 함수로서 다른 함수의 인자로 사용되거나, 즉시 실행 함수를 정의할 때 사용됩니다. 또한, 메소드로 객체에 할당될 때에도 익명 함수를 사용합니다.

기명 함수는 함수를 재귀적으로 호출해야할 때, 스택 트레이싱을 위해 함수 이름이 포함된 스택 트레이스를 사용하고자 할 때 사용됩니다.

결론

익명 함수는 이름이 없기 때문에 간단한 콜백 함수나 즉시 실행 함수를 정의할 때 유용하고, 기명 함수는 이름이 있기 때문에 함수를 재귀적으로 호출하거나 스택 트레이싱을 할 때 유용합니다.

함수를 정의할 때 어떤 방식을 사용할지는 해당 함수의 사용 용도와 개발자의 취향에 따라 다를 수 있습니다.

참고 자료