[typescript] 함수 유형 주석 사용하기

TypeScript는 정적 타입 지정을 통해 JavaScript의 유연성과 안정성을 결합합니다. 이는 함수를 정의할 때 유용한데 TypeScript 함수 유형 주석을 통해 함수의 매개변수와 반환 유형을 명확하게 지정할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.

기본 문법

TypeScript에서 함수 유형 주석은 함수 이름 뒤에 콜론(:)을 사용하여 정의합니다. 다음은 간단한 예제입니다.

function greet(name: string): string {
  return `Hello, ${name}!`;
}

위 예제에서 name: stringgreet 함수의 매개변수 name의 유형을 나타내며, : stringgreet 함수의 반환 유형을 나타냅니다.

선택적 매개변수와 기본 매개변수

함수의 매개변수가 선택적이거나 기본 값을 가지는 경우, TypeScript에서는 매개변수 뒤에 물음표(?) 또는 등호(=)를 사용하여 지정할 수 있습니다. 아래는 선택적 매개변수와 기본 매개변수를 사용하는 예제입니다.

// 선택적 매개변수
function greet(name?: string): string {
  if (name) {
    return `Hello, ${name}!`;
  } else {
    return `Hello, stranger!`;
  }
}

// 기본 매개변수
function greet(name: string = "stranger"): string {
  return `Hello, ${name}!`;
}

Rest 매개변수

Rest 매개변수는 함수에 여러 개의 인수를 받을 수 있도록 합니다. TypeScript에서는 매개변수 앞에 세 개의 점(…)을 사용하여 Rest 매개변수를 정의할 수 있습니다. 아래는 Rest 매개변수를 사용하는 예제입니다.

function addNumbers(...numbers: number[]): number {
  return numbers.reduce((acc, val) => acc + val, 0);
}

함수 유형 주석과 제네릭

제네릭 함수를 작성할 때, TypeScript에서 함수 유형 주석과 함께 제네릭을 사용할 수 있습니다. 아래는 제네릭을 사용하는 함수의 예제입니다.

function identity<T>(arg: T): T {
  return arg
}

마무리

이제 TypeScript에서 함수를 정의할 때 함수 유형 주석을 사용하는 방법을 알아봤습니다. 함수 유형 주석을 활용하여 코드를 명확하고 안정적으로 유지하고, 타입 호환성을 보장할 수 있습니다.

더 자세한 정보는 TypeScript 공식 문서를 참고하세요.