[typescript] 함수와 메서드를 사용하여 유틸리티 함수 만들기

TypeScript를 사용하여 유틸리티 함수를 만들어보겠습니다. 유틸리티 함수란 다른 함수나 메서드에서 공통적으로 사용되는 기능을 하나로 묶어 재사용 가능하게 만든 함수를 말합니다.

1. 기본적인 유틸리티 함수 작성하기

아래는 TypeScript로 문자열을 반전시키는 유틸리티 함수의 예시입니다.

function reverseString(input: string): string {
  return input.split('').reverse().join('');
}

위의 코드에서 reverseString 함수는 문자열을 받아 내장 함수들을 이용해 반전시킨 후 반환합니다.

2. 클래스의 메서드로 유틸리티 함수 작성하기

클래스의 메서드로 유틸리티 함수를 작성할 수도 있습니다. 아래 예시에서는 숫자 배열의 평균을 계산하는 유틸리티 함수를 메서드로 작성하였습니다.

class MathHelper {
  static calculateAverage(numbers: number[]): number {
    const sum = numbers.reduce((a, b) => a + b, 0);
    return sum / numbers.length;
  }
}

위의 예시에서 calculateAverage는 MathHelper 클래스에 속하는 정적 메서드로, 숫자 배열을 받아 평균을 반환합니다.

3. 외부 라이브러리의 메서드 활용하기

유용한 기능을 하는 외부 라이브러리의 메서드를 활용하여 유틸리티 함수를 작성할 수도 있습니다. 예를 들어, Lodash 라이브러리의 groupBy 메서드를 사용하여 배열을 특정 기준으로 그룹화하는 함수를 만들 수 있습니다.

import { groupBy } from 'lodash';

function groupByCategory(items: { category: string }[]): Record<string, { category: string }[]> {
  return groupBy(items, 'category');
}

위의 예시에서 groupByCategory 함수는 lodash 라이브러리의 groupBy 메서드를 사용하여 배열을 카테고리에 따라 그룹화한 결과를 반환합니다.

이와 같이 TypeScript로 유틸리티 함수를 작성함으로써 코드를 재사용하고 가독성을 높일 수 있습니다.

자세한 정보는 TypeScript 공식 문서를 참고하십시오.