고차함수
콜백 함수
콜백 함수란 다른 함수의 매개변수로 사용되는 함수를 말한다. 콜백 함수는 호출될 때 다른 함수에 의해 호출되는 함수로, 특정 작업을 수행하기 위해 전달된다. 또한, 다른 함수의 결과로 리턴될 수도 있다. 예를 들어, 배열의 각 요소에 대해 특정 작업을 수행하고 싶을 때 콜백 함수를 사용하여 원하는 작업을 정의할 수 있다.
function processArray(arr, callback) {
for (let i = 0; i < arr.length; i++) {
callback(arr[i]);
}
}
function printValue(value) {
console.log(value);
}
let myArray = [1, 2, 3, 4];
processArray(myArray, printValue); // 배열의 각 요소를 출력함
고차 함수
고차 함수란 함수를 반환하거나 함수를 인수로 받을 수 있는 함수를 말한다. 고차 함수는 코드의 가독성을 높이고 재사용성을 증가시키는 데 유용하다.
익명 함수 반환
고차 함수는 익명 함수를 반환할 수 있다. 예를 들어, 두 숫자의 합을 계산하는 함수를 반환하는 고차 함수를 작성할 수 있다.
function createAdder(x) {
return function(y) {
return x + y;
};
}
let addFive = createAdder(5);
console.log(addFive(3)); // 8을 출력함
내장 고차 함수
JavaScript에는 내장된 여러 고차 함수가 있다. Array.prototype.filter는 배열의 각 요소에 대해 조건식을 평가하고, 조건식을 만족하는 요소들로 새로운 배열을 만드는 함수이다.
let numbers = [1, 2, 3, 4, 5, 6];
let evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]을 출력함
조건식 사용
조건식은 단순히 if문 내에서만 사용할 수 있는 것이 아니다. 조건식은 다양한 고차 함수 내에서 활용될 수 있으며, 그 결과에 따라 데이터 처리 로직을 유연하게 구성할 수 있다.
예시: Array.prototype.map
Array.prototype.map 함수는 배열의 각 요소에 대해 주어진 함수를 적용한 결과로 새로운 배열을 만든다.
let numbers = [1, 2, 3, 4, 5];
let squaredNumbers = numbers.map(num => num * num);
console.log(squaredNumbers); // [1, 4, 9, 16, 25]를 출력함
이와 같이, 고차 함수는 함수형 프로그래밍의 기본 요소로서 코드의 가독성을 높이고 재사용성을 증가시키는 데 매우 유용하다. 다양한 내장 고차 함수를 활용하여 더 깔끔하고 효율적인 코드를 작성할 수 있다.
'JavaScript' 카테고리의 다른 글
| 비동기 (0) | 2024.05.28 |
|---|---|
| JS브라우저 DOM (0) | 2024.05.24 |
| 실습 (0) | 2024.05.24 |
| ES6 (0) | 2024.05.23 |
| 클로저 - 원래 스코프 내부에서는 외부로 접근 가능한거 아니야? (0) | 2024.05.22 |