<일급객체>
-first class citizen
1. 변수에 할당 가능
2. 다른 함수의 인자로 전달 가능
3. 다른 함수의 결과로서 리턴 가능
-자바스크립트에서 함수는 일급객체이다.
1. 함수 표현식/함수 선언식으로 함수를 변수에 할당
2. 함수를 다른 함수의 인자로 전달(콜백함수 : 함수에 인자로 전달되는 함수)
3. 함수를 실행했을 때 함수를 리턴 가능(커리함수 : 함수를 리턴하는 함수)
-함수가 일급객체이기 때문에 고차함수로 활용 가능
-고차함수 : 함수를 인자로 받는 함수/함수를 리턴하는 함수
-고차함수를 쓰는 이유 : 추상화를 통한 효율성 증대
<배열 내장 메소드>
function getDoubledElements(arr) {
return arr.map(item => item*2);
}
let output = getDoubledElements([1, 2, 3, 4]);
console.log(output); // --> [2, 4, 6, 8]
function keep(arr, keeper) {
return arr.filter(item => item === keeper);
}
let output = keep([1, 2, 3, 2, 1], 2)
console.log(output); // --> [2, 2]
function computeSumOfAllElements(arr) {
return arr.reduce((acc,cur) => {
return acc + cur;
});
}
let output = computeSumOfAllElements([1, 2, 3]);
console.log(output); // --> 6