- 변수에 할당(assignment) 할 수 있다.
- 다른 함수의 전달인자(argument)로 전달될 수 있다.
다른 함수의 결과로서 리턴 가능
function functionParameter(func.num {
retuirn func(num)
}
- 다른 함수의 결과로서 리턴될 수 있다.
let add = function(num1) {
return function (num2) {
return num 1+ num2
}
}
= 함수를 전달인자(argument)로 받을 수 있고,
함수를 리턴할 수 있는 함수
함수가 일급객체라서 고차함수로 활용가능
콜백 함수(callback function)
= 다른 함수(caller)의 전달인자(argument)로 전달되는 함수
배열 내장 메소드
배열의 각 요소에 콜백 함수를 적용시킨 새로운 배열을 리턴
let arr = [1,2,3,4,5]
function multiply2 (num) {
return num * 2
}
arr.map(multiply2)
> [2,4,6,8,10]
배열의 각 요소에 콜백 함수를 적용시켰을 때,
true 를 리턴하는 요소들만 모은 새로운 배열을 리턴
> let arr = [1,2,3,4,5]
> arr.filter(el => el % 2 === 0)
> (2) [2, 4]
배열의 각 요소를 콜백 함수에 맞게 하나로 응축시킨 값을 리턴
> let arr = [1,2,3,4,5]
> arr.reduce( (acc, cur) = > {
return acc + cur
})
> 15
초기값을 설정하지 않으면 배열의 첫번째 요소가 acc
cur은 두번째 요소부터 시작
let arr = [1,2,3,4,5]
arr.reduce ((arr,cur) => {
if (cur % 2 === 0) {
return acc + cur
} else {
return acc
}
}, 0)
> 6