반응형
📝일급객체
일급객체는 아래와 같은 특징을 가지고 있습니다.
- 변수에 함수를 할당
- 다른 함수의 인자로 전달될 수 있다.
- 다른 함수의 결과로 리턴이 가능하다
// 변수에 함수를 할당
const add = function(a, b) {
return a + b;
};
// 다른 함수의 인자로 전달될 수 있다.
function applyOperation(operation, x, y) {
return operation(x, y);
}
console.log(applyOperation(add, 5, 3)); // 출력 결과: 8
// 다른 함수의 결과로 리턴이 가능하다
function createMultiplier(multiplier) {
return function(x) {
return x * multiplier;
};
}
const double = createMultiplier(2);
console.log(double(5)); // 출력 결과: 10
📝고차함수
고차 함수는 다른 함수를 인자로 받거나 다른 함수를 리턴하는 함수로서 JavaScript에서 함수 자체가 일급객체이기 때문에 고차함수를 만드는게 가능하다
📝함수형 프로그래밍
함수형 프로그래밍이란 함수형 인터페이스를 이용해 구현한 프로그래밍 기법으로 아래와 같은 장점이 있습니다.
- 가독성을 높일 수 있고 검증된 함수를 사용해 오류를 줄일 수 있고 가독성이 높기 때문에 유지보수가 쉬워진다
// 1 ~ 10까지의 값이 i에 할당된다
for(int i = 1 ; i < 10; i++){
System.out.println(i);
}
process(10, print(num));
- 부수 효과를 제거한 함수를 순수 함수라고 하는데 함수의 실행이 외부에 영향을 끼치지 않는다 (멀티스레딩으로 동작해도 안정성 보장)
🔗 참고 및 출처
https://mangkyu.tistory.com/111
반응형