[typescript] 함수의 매개변수와 반환값에 대한 타입 추론 및 타입 어노테이션

TypeScript는 JavaScript에 타입을 추가한 언어로, 함수의 매개변수와 반환값에 대한 타입 추론과 타입 어노테이션을 사용하여 코드의 가독성과 안정성을 확보할 수 있습니다.

매개변수의 타입 추론

TypeScript는 함수가 호출될 때 인자의 타입을 기반으로 매개변수의 타입을 추론합니다.

예를 들어, 아래의 add 함수는 매개변수 xy의 타입을 추론할 수 있습니다.

function add(x, y) {
    return x + y;
}

이 경우, xy의 타입은 호출 시 전달되는 값에 따라 결정됩니다. 만약 xy에 숫자가 전달된다면 TypeScript는 이를 숫자 타입으로 추론합니다.

매개변수의 타입 어노테이션

타입 추론만으로 충분한 경우도 있지만, 코드의 가독성을 높이거나 특정한 타입을 강제하고 싶을 때 매개변수의 타입에 대한 어노테이션을 추가할 수 있습니다.

예를 들어, 아래의 subtract 함수는 매개변수 xy의 타입을 명시적으로 지정하고 있습니다.

function subtract(x: number, y: number): number {
    return x - y;
}

이렇게 하면 매개변수 xy가 반드시 숫자 타입이어야 하며, 반환 값으로도 숫자 타입이어야 함을 명확하게 나타낼 수 있습니다.

반환값의 타입 추론

함수의 반환값에 대한 타입도 호출 시 반환되는 값의 타입을 기반으로 추론됩니다.

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

위의 예시에서 greet 함수는 name 매개변수의 타입을 문자열로 명시하고, 해당 함수는 문자열을 반환한다는 것을 타입 추론을 통해 파악할 수 있습니다.

반환값의 타입 어노테이션

마찬가지로, 반환값의 타입을 명시적으로 지정할 수 있습니다. 아래의 multiply 함수에서는 반환값의 타입을 명시적으로 지정하고 있습니다.

function multiply(x: number, y: number): number {
    return x * y;
}

이렇게 함으로써 함수의 반환값이 반드시 숫자 타입이어야 함을 확실하게 할 수 있습니다.

결론

함수의 매개변수와 반환값에 대한 타입 추론과 타입 어노테이션을 사용하여 TypeScript에서 코드의 가독성을 높이고, 안정성을 강화할 수 있습니다. 타입 추론만으로 충분한 경우가 많지만, 명시적인 타입 어노테이션을 통해 의도를 명확히 드러내는 것이 중요합니다.

참조: