(2023. 01. 12) Section2, 고차함수

지인·2023년 1월 12일
0

JavaScript

목록 보기
13/32

JavaScript에서 함수는 일급 객체로 취급된다. 그로인해 다음의 특성을 가진다.

  • 변수에 할당할 수 있다.
  • 다른 함수의 전달인자로 전달될 수 있다.
  • 다른 함수의 결과로서 리턴될 수 있다.

고차 함수란?

  1. 고차 함수란, 함수를 리턴하는 함수
  2. 함수를 전달인자로 받는 함수
  3. 함수를 전달인자로 받으면서 함수를 리턴하는 함수

콜백 함수란?

다른 함수의 전달인자로 전달되는 함수를 콜백 함수라고 한다.

function double(num) {
  return num * 2;
}

function doubleNum(func, num) {
  // 함수 func는 함수 doublieNum의 콜백 함수이다.
  // 함수 double은 함수 doubleNum의 콜백 함수이다.
  return func(num);
}

커리 함수란?

함수를 리턴하는 함수이다.

function adder(added) {
  return function (num) {
    return num + added;
  };
}

내장 고차 함수

Javascript에 기본적으로 내장된 배열 메서드들 중 일부가 대표적인 고차 함수에 해당한다.
그 중 filter, map, reduce에 대해 알아보자.

filter

모든 배열의 요소 중 특정 조건을 만족하는 요소만 걸러내는 메서드이다.

let arr = [1,2,3];
let output = arr.filter(el => el % 2 === 0);
console.log(output); // -> [2]

map

각각의 요소에 대해 함수의 반환 값으로 새로운 배열을 만든다.

let arr = [3, 4, 5, 6];
let modifiedArr = arr.map(el => el * 3);

console.log(modifiedArr); // [9, 12, 15, 18]

reduce

reduce에는 누산기가 포함되어 있기 때문에, 배열의 각 요소에 대해 함수를 실행하고 누적된 값을 출력할 때 용이하다.

const arr = [1, 2, 3, 4, 5];
const result = arr.reduce((acc, cur, idx) => { return acc += cur; }, 0);
console.log(result);  // 15
profile
안녕하세요

0개의 댓글

관련 채용 정보