[JavaScript] 고차함수의 기초
카테고리: JavaScript
고차함수란?
Higher Order Function, 함수를 인자로 받을 수 있고, 함수의 형태로 리턴할 수 있는 함수
관련 개념
- 콜백 함수(callback function) : 다른 함수(caller)의 인자로 전달되는 함수
- 커리 함수(Curry function) : 함수를 리턴하는 함수 (고차함수가 커리함수를 포함하는 개념)
let arr = [1, 2, 3];
// 배열의 filter 메소드는 함수를 인자로 받는 고차함수
// arr.filter를 실행하면 내부적으로 arr에 접근
arr.filter = function (arr, func) {
const newArr = [];
for (let i = 0; i < arr.length; i++) {
// filter에 인자로 전달된 콜백 함수는 arr의 각 요소를 전달받아 호출
// 콜백 함수가 true를 리턴하는 경우에만 새로운 배열에 추가
if (func(arr[i]) === true) {
newArr.push(this[i]);
}
}
// 콜백 함수의 결과가 true인 요소들만 저장된 배열을 리턴
return newArr;
};
댓글 남기기