[typescript] 함수 리턴 타입 지정

TypeScript는 정적 타입 언어로, 변수 및 함수에 타입을 명시적으로 지정할 수 있습니다. 함수의 리턴 타입을 명시적으로 지정하는 것은 코드의 가독성을 높이고 오류를 방지하는 데 도움이 됩니다.

1. 함수 선언과 리턴 타입 지정

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

위의 예시에서 add 함수는 number 타입인 xy 두 개의 매개변수를 받고, number 타입을 리턴합니다. 이러한 방식으로 함수의 리턴 타입을 지정할 수 있습니다.

2. 함수 표현식과 리턴 타입

함수 표현식을 사용하는 경우에도 리턴 타입을 지정할 수 있습니다.

const subtract = (x: number, y: number): number => {
  return x - y;
};

subtract 함수에서도 number 타입의 매개변수를 받고, number 타입을 리턴하도록 지정되어 있습니다.

3. 옵셔널한 리턴 타입

만약 함수가 어떠한 값을 리턴하지 않는다면, void 타입을 사용하여 리턴 타입을 지정할 수 있습니다.

function greet(name: string): void {
  console.log(`Hello, ${name}!`);
}

greet 함수는 name을 매개변수로 받고, void 타입을 리턴합니다.

4. any 타입의 사용

만약 함수가 여러 가지 타입을 리턴할 수 있는 경우에는 any 타입을 사용하여 유연하게 처리할 수 있습니다. 다만, any 타입은 타입 안정성을 보장하지 않으므로 사용 시 주의가 필요합니다.

function calculate(x: number, y: number, operator: string): any {
  if (operator === 'add') {
    return x + y;
  } else if (operator === 'subtract') {
    return x - y;
  }
  // ...
}

calculate 함수는 addsubtract 연산에 따라 다른 타입을 리턴할 수 있으므로 any 타입을 사용했습니다.

결론

함수의 리턴 타입을 명시적으로 지정하는 것은 코드를 읽고 이해하기 쉽게 만들어줄 뿐만 아니라 타입 관련 오류를 줄여줍니다. TypeScript를 사용할 때는 함수의 리턴 타입을 확실하게 지정하여 안정적이고 확고한 코드를 작성할 수 있습니다.


참고 문헌: