KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

고차함수(Higher Order Function)

연결된 노트와 함께 읽기

고차함수(Higher Order Function)

2024년 11월 23일
  • 자바스크립트를 함수형 프로그래밍(Functional Programming)에 알맞은 언어로 만들어주는 특성이 바로 자바스크립트가 고차 함수 개념이 있다는 것이다.

  • 매개변수(parameter)를 통해 함수의 외부에서 콜백 함수(Callback Function)를 전달받은 함수를 고차 함수라고 한다.

  • 고차 함수는 매개변수(parameter)를 통해 전달받은 콜백 함수(Callback Function)의 호출 시점을 결정해서 호출(invoke)한다.

  • 즉, 콜백 함수(Callback Function)는 고차 함수에 의해 호출되며 이때 고차 함수는 필요에 따라 콜백 함수에 인수를 전달할 수 있다.

  • 따라서 고차 함수에 콜백 함수를 전달할 때 콜백 함수를 호출하지 않고 함수 자체를 전달해야 한다.

  • 고차 함수라는 용어를 '함수를 전달인자(Argument)로 받는 함수'라고 사용할 경우 '커링 함수'라고도 한다.

  • 그러나, 커링 함수는 고차 함수에 포함되는 개념이다.

예시

JavaScript
// 함수 funcA는 콜백 함수인 funcB를 외부에서 매개변수를 통해 전달받은 '고차 함수'임 function funcA(callback) { callback() } // 함수 funcB는 동기적으로 실행되고 있는 함수 funcA의 '콜백 함수'임 function funcB() { console.log('내가 콜백함수다!') } console.log(funcA(funcB)) // >> 내가 콜백함수다!

Synapse Map Insight