개발/코드
[Javascript] 고차함수 구현 예시
Grara
2023. 6. 1. 23:04
요즘에는 데코레이션이라는 기능이 있지만, 그 이전에는 어떤 방식으로 이 기능을 구현했을까 문득 의문이 들어 고차함수를 이용해 만들어보았다. 어떤 함수라도 해당 방식을 이용해 새로운 함수를 생성해서 사용한다면 함수 실행 전과 후에 "Start"와 "End"가 나타날 것이고, args를 통해 전달된 매개변수들도 활용할 수 있게 된다.
function withStartAndEndLogging(func) {
return function(...args) {
console.log("Start");
func.apply(this, args);
console.log("End");
}
}
// 예시 함수
function myFunction(name) {
console.log("Hello, " + name + "!");
}
// 새로운 함수 생성
let decoratedFunction = withStartAndEndLogging(myFunction);
// 함수 실행
decoratedFunction("John");
/* 결과 :
Start
Hello, John!
End
*/