<고차함수>

윤장원·2022년 5월 4일
0

고차함수

목록 보기
1/1

<일급객체>
-first class citizen
1. 변수에 할당 가능
2. 다른 함수의 인자로 전달 가능
3. 다른 함수의 결과로서 리턴 가능

-자바스크립트에서 함수는 일급객체이다.
1. 함수 표현식/함수 선언식으로 함수를 변수에 할당
2. 함수를 다른 함수의 인자로 전달(콜백함수 : 함수에 인자로 전달되는 함수)
3. 함수를 실행했을 때 함수를 리턴 가능(커리함수 : 함수를 리턴하는 함수)

-함수가 일급객체이기 때문에 고차함수로 활용 가능
-고차함수 : 함수를 인자로 받는 함수/함수를 리턴하는 함수
-고차함수를 쓰는 이유 : 추상화를 통한 효율성 증대

<배열 내장 메소드>

  1. map - 배열의 각 요소에 콜백함수를 적용시킨 새로운 배열을 리턴
function getDoubledElements(arr) {
	return arr.map(item => item*2);
}

let output = getDoubledElements([1, 2, 3, 4]);
console.log(output); // --> [2, 4, 6, 8]
  1. filter - 배열의 각 요소에 콜백함수를 적용시켰을 때 true를 리턴하는 요소들만 모은 새로운 배열을 리턴
function keep(arr, keeper) {
	return arr.filter(item => item === keeper);
}
let output = keep([1, 2, 3, 2, 1], 2)
console.log(output); // --> [2, 2]
  1. reduce - 배열의 각 요소를 콜백함수에 맞게 하나로 응축시킨 값을 리턴
function computeSumOfAllElements(arr) {
	return arr.reduce((acc,cur) => {
    	return acc + cur;
    });
}
let output = computeSumOfAllElements([1, 2, 3]);
console.log(output); // --> 6
  1. 기타
    -forEach, find, some, every, sort

0개의 댓글