TIL #11

devPomme·2021년 1월 8일
0

고차함수

일급 객체(first-class citizen)

  • 함수는 대표적인 일급 객체
    (1) 변수에 할당(assignment) 할 수 있다.
    (2) 다른 함수의 인자(argument)로 전달될 수 있다.
    (3) 다른 함수의 결과로서 리턴될 수 있다.
    => 함수를 데이터(string,number,boolean, array, object 처럼 다룰 수 있다.)

고차함수란(higher-order function)

  • 함수를 인자로 받거나 함수를 리턴하는 함수
    1) 함수를 인자로 받는 경우
    2) 함수를 리턴하는 경우
    3) 함수를 인자로 받고, 함수를 리턴하는 경우

내장 고차함수

  • filter: 특정 조건을 만족하는 요소들만 걸러내는 메소드
    걸러내는 기준이 되는 특정 조건은 함수 형태로 filter 메소드의 인자로 전달되어야한다.
  • forEach

  • find

  • map

  • reduce

  • sort

  • some

  • every

추상화

  • 복잡한 것을 압축해서 핵심만 추출한 상태로 만드는 것
    추상화 = 생산성(productivity)의 향상
  • 추상화의 관점에서 함수는 사고(thought) 또는 논리(logic)의 묶음
    함수를 통해 얻은 추상화의 단계를 한 단계 더 높인 것이 고차함수
  • 사고 수준의 추상화

더 생각해볼 주제(수정할 것)

  • MapReduce 학습하기
  • 자바스크립트에서 커링(currying)과 클로져(closure)의 차이 이해하기
  • 선언형 프로그래밍(declarative programming)과 절차형(imperative programming)의 차이를 배열 메소드를 통해 이해하기
  • 함수의 조합(function composition)에 대해 학습하기
profile
헌신하고 확장하는 삶

0개의 댓글