[typescript] 함수 타입이 매개변수로 전달되는 경우

TypeScript를 사용하면 함수형 프로그래밍과 관련된 여러 유용한 기능들을 활용할 수 있습니다. 함수형 프로그래밍에서는 함수를 값으로 다루는 것이 가능한데, TypeScript에서는 이를 지원하기 위해 함수 타입을 매개변수로 전달하는 방법을 제공합니다.

함수 타입이란?

함수 타입은 파라미터 타입과 반환 타입을 포함하는 함수의 타입을 나타냅니다. 예를 들어, (a: number, b: number) => number는 두 개의 숫자를 받아들이고 숫자를 반환하는 함수 타입을 나타냅니다.

함수 타입을 매개변수로 전달하는 방법

TypeScript에서 함수 타입을 매개변수로 전달하는 방법은 다음과 같습니다.

// 함수 타입 정의
type MyFunctionType = (a: number, b: number) => number;

// 함수 타입을 매개변수로 전달
function executeFunction(func: MyFunctionType, x: number, y: number) {
    const result = func(x, y);
    console.log(result);
}

// 함수를 정의
function add(a: number, b: number): number {
    return a + b;
}

// 함수를 매개변수로 전달
executeFunction(add, 10, 20);

위 예제에서 executeFunction 함수는 func 매개변수로 함수 타입인 MyFunctionType을 전달받고, 이를 실행하여 결과를 출력합니다. add 함수를 정의하고 이를 executeFunction에 전달하는 예제를 보여줍니다.

이러한 방식을 통해 TypeScript에서는 함수를 값으로 다루고 함수 타입을 매개변수로 전달하는 것이 가능합니다.

마무리

TypeScript에서는 함수 타입을 매개변수로 전달하여 함수를 값으로 다루는 방법을 지원합니다. 이를 통해 함수형 프로그래밍의 다양한 기법을 적용할 수 있고, 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다.

이러한 TypeScript의 기능을 적극 활용하여 보다 안정적이고 효율적인 코드를 작성할 수 있습니다.

자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다.