일급 객체

객체 중에서도 특급 대우를 받는 객체, 함수가 이에 포함된다.
1. 변수에 할당(assignment)할 수 있다.
2. 다른 함수의 전달인자(argument)로 전달될 수 있다.
3. 다른 함수의 결과로써 리턴될 수 있다.

고차 함수

  1. 고차 함수(higher order function)는 함수를 전달인자(argument)로 받을 수 있고, 함수를 리턴할 수 있는 함수입니다.
  2. 다른 함수(caller)의 전달인자(argument)로 전달되는 함수를 콜백 함수(callback function)라고 합니다.
  3. '함수를 리턴하는 함수'는 커링 함수라고 합니다. 고차 함수가 커링 함수를 포함합니다.

filter 함수

필터 함수는 배열의 요소가 함수를 통과 했을 때 참이면 요소를 새로운 배열에 push하고 아니면 안하는 함수이다.

let arr = [1,2,3,4,5];
let result = arr.filter(function(ele){		//[2,4]
	return ele % 2 === 0;
};

map 함수

맵 함수는 배열 요소가 함수를 통과할 때 리턴되는 값을 새로운 배열의 요소로 지정 하는 것이다.

let arr = [1,2,3,4,5];
let result = arr.map(function(ele){		//[2,4,6,8,10]
	return ele *2;
};

reduce 함수

리듀스 함수는 배열의 요소들이 두번 째 매개변수가 되고, 함수를 통과할 때 리턴값이 첫 번째 매개변수가 된다. 마지막 함수를 통과한 값이 리턴된다.

const arr = [1, 2, 3];
const result = arr.reduce((acc, cur, idx) => {
  let newAcc = acc + cur;
  return newAcc;
}, 1)
result;

0개의 댓글