TypeScript는 정적 타입 지정을 통해 JavaScript의 유연성과 안정성을 결합합니다. 이는 함수를 정의할 때 유용한데 TypeScript 함수 유형 주석을 통해 함수의 매개변수와 반환 유형을 명확하게 지정할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.
기본 문법
TypeScript에서 함수 유형 주석은 함수 이름 뒤에 콜론(:)을 사용하여 정의합니다. 다음은 간단한 예제입니다.
function greet(name: string): string {
return `Hello, ${name}!`;
}
위 예제에서 name: string
은 greet
함수의 매개변수 name
의 유형을 나타내며, : string
은 greet
함수의 반환 유형을 나타냅니다.
선택적 매개변수와 기본 매개변수
함수의 매개변수가 선택적이거나 기본 값을 가지는 경우, 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 공식 문서를 참고하세요.