FUNCTION AS VALUE

고차 함수와 커링은 함수를 조립 가능한 값으로 다룬다

함수를 인자로 받거나 반환하면 변환 규칙을 분리할 수 있고, 커링은 인자를 단계적으로 고정한다.

Higher-Order Function

array.map(transform)

공통 순회 로직과 실제 변환 함수를 분리해 재사용성을 높인다.

Currying

filterBy(20)(value)

먼저 기준값을 고정하고 나중에 실제 데이터를 넣는 함수 체인이다.

TypeScript 이점: 콜백 인자와 반환 타입을 명확히 제한해 추상화가 커져도 타입 안전성을 유지한다.