고차함수란 다른 인자로 함수를 받거나 함수를 말한다. 배열의 reduce(), map(), filter() 등이 고차함수의 예라고 할 수 있다. 고차함수를 정의하면서 좀 더 복잡한 로직을 추상적으로 작성할 수 있었다.