말랑말랑 LAB

[JavaScript] 고차 함수 본문

JavaScript/JavaScript 스터디

[JavaScript] 고차 함수

쭈02 2019. 1. 5. 13:43

자바스크립트의 고차 함수



o 고차 함수(Higher Order Function)의 정의

함수를 인자로 받아 대신 실행하는 함수

  • 예제 - func라는 이름의 인자로 add 나 sub 함수를 받아 대신 실행하는 callWith10 은 고차 함수다.

함수를 리턴하는 함수

  • 예제 - 실행 당시 받았던 10이라는 값을 받아 내부에서 익명 함수를 클로저로 만들어 val을 기억하게 만든 후 리턴
    always10() 실행하면 항상 10을 리턴한다.

함수를 인자로 받아서 또 다른 함수를 리턴하는 함수

  • 예제 - var1을 받아서 val1을 기억하는 함수를 리턴
    리턴된 함수는 이후에 val2와 func를 받아 func를 대신 실행해준다


o 메모이제이션
  • 컴퓨터 프로그램이 동일한 계산을 반복해야 할때, 이전에 계산한 값을 메모리에 저장함으로써
    동일한 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술
  • memorize 함수는 고차 함수이며, 자바스크립트에서 메모이제이션의 대표적인 사례
    • 한 번 들어온 인자에 대한 결과를 캐싱하여 함수 본체를 실행하지 않고 결과를 즉시 리턴
    • 중첩 함수는 클로저 생성
## 다음 코드를 직접 실행해보자 !!


  • 인수를 여러 개 받도록 확장할 수 있다





'JavaScript > JavaScript 스터디' 카테고리의 다른 글

[JavaScript] 화살표 함수  (0) 2019.01.06
[JavaScript] 이터레이터와 제너레이터  (0) 2019.01.05
[JavaScript] 클로저  (0) 2019.01.05
[JavaScript] 함수의 정의  (0) 2019.01.05
[JavaScript] 제어문  (0) 2018.12.28
Comments