고차함수

Yein Moon·2021년 7월 7일
0

개발일지

목록 보기
18/21

와!!! 너무 졸리다!!!!!!!!

First-class citizen

: 자바스크립트에서 특별하게 취급되는 객체

함수는 first-class citizen 중 하나로, 1. 변수에 할당 할 수 있고 2.다른 함수의 인자로 전달될 수 있으며 3. 다른 함수의 결과로 리턴될 수 있다

위와 같은 특징들은 특정한 데이터를 담고 있지도 않은 함수를 마치 데이터처럼 사용할 수 있도록 한다.

c.f. 함수 선언식(function functionname (arguments){}) 은 최대한 자제하자. 호이스팅으로 인해 코드 유지보수가 어려워진다.

HOF(Higer Order Function)

고차함수란, 1. 함수를 인자로 받을 수 있고 2. 함수 형태로 리턴할 수 있는 함수이다. 인자로 받아진 함수는 callback 함수라고 부른다.

c.f. 함수를 리턴하는 함수는 하스켈 커리(Haskell Curry)가 고안해 커리함수라고 부른다.
❗️ 반드시 커리함수와 클로저함수의 차이를 공부해보자

// 함수를 인자로 받고, 함수를 리턴하는 경우
function double(num) {
  return num * 2;
}

function doubleAdder(added, func) {
  const doubled = func(added);
  return function (num) {
    return num + doubled;
  };
}

Method

배열의 메소드를 공부해보자. filter, map, reduce를 대표로 공부했다.
reduce를 이용하면 웬만한 메소드를 대신해 구현할 수 있다.

1. filter
arr.filter(argument, function)
function의 로직을 기준으로 true값이 반환된 요소만 모아 새로운 배열을 반환한다.

2. map

3. reduce

오늘은 배운 '개념' 위주로 정리를 했고(사실 아직 마무리 못했고.. 내일 아침에 하고....ㅎ), 다음 글에서 문제를 통해 다시 둘러볼 예정이다. 개념도 어려웠는데 문제는 ㅏ.....

profile
마스크 벗을 때쯤엔 주니어개발자 될끄니까

0개의 댓글