반응형
고차 함수(Higher-order Functions)와 순수 함수(Pure Functions)
고차 함수(Higher-order Functions)
고차 함수는 다른 함수를 인수로 받거나 함수를 반환하는 함수를 말합니다. 이는 함수형 프로그래밍에서 중요한 개념 중 하나이며, JavaScript에서도 많이 활용됩니다. 고차 함수를 사용하면 코드를 간결하고 모듈화된 형태로 작성할 수 있습니다.
핵심 내용:
- 고차 함수는 다른 함수를 인수로 받거나 함수를 반환하는 함수를 말합니다.
- JavaScript에서는 고차 함수를 사용하여 함수를 조합하고 새로운 함수를 생성할 수 있습니다.
- 주로 콜백 함수, 맵(map), 필터(filter), 리듀스(reduce) 등과 같은 배열 메서드에서 고차 함수를 자주 사용합니다.
예시:
// 고차 함수 예시: 맵(map)
const numbers = [1, 2, 3, 4, 5];
// 고차 함수를 사용하여 각 요소를 제곱한 새로운 배열을 생성
const squaredNumbers = numbers.map(function(num) {
return num * num;
});
console.log(squaredNumbers); // Output: [1, 4, 9, 16, 25]
순수 함수(Pure Functions)
순수 함수는 동일한 입력에 대해 항상 동일한 결과를 반환하며, 부작용(side effect)이 없는 함수를 말합니다. 이는 함수형 프로그래밍의 핵심 개념 중 하나이며, 코드의 예측 가능성과 테스트 용이성을 향상시키는 데 도움이 됩니다.
핵심 내용:
- 순수 함수는 동일한 입력에 대해 항상 동일한 출력을 반환하며, 외부 상태를 변경하지 않습니다.
- 부작용이 없는 함수로서 입력에 의해 출력이 결정되며, 외부 상태에 의존하지 않습니다.
- 순수 함수를 사용하면 코드를 테스트하기 쉽고 예측 가능하게 만들어 유지보수성을 향상시킬 수 있습니다.
예시:
// 순수 함수 예시: 덧셈 함수
function add(a, b) {
return a + b;
}
console.log(add(2, 3)); // Output: 5
// 부작용이 없으며 외부 상태를 변경하지 않음
고차 함수와 순수 함수는 모두 함수형 프로그래밍의 핵심이며, 코드를 더 깔끔하고 유지보수 가능하게 만드는 데 중요한 역할을 합니다. 이러한 개념을 활용하여 JavaScript 코드를 작성하면 코드의 가독성과 확장성을 향상시킬 수 있습니다.
반응형
'javascript pure > javascript 코어 개념' 카테고리의 다른 글
26. 자바스크립트 엔진(JavaScript Engine) - 2 (0) | 2024.02.17 |
---|---|
25. 자바스크립트 엔진(JavaScript Engine) - 1 (0) | 2024.02.17 |
24. 함수형 프로그래밍(Functional Programming) - 3 (2) | 2024.02.17 |
23. 함수형 프로그래밍(Functional Programming) - 2 (2) | 2024.02.17 |
21. 디자인 패턴(Design Patterns) - 3 (0) | 2024.02.16 |
20. 디자인 패턴(Design Patterns) - 2 (0) | 2024.02.16 |
19. 디자인 패턴(Design Patterns) - 1 (0) | 2024.02.16 |
18. 메모리 관리(Memory Management) - 3 (0) | 2024.02.16 |