[typescript] 함수의 리턴 값 타입 지정 (Function Type)

hellow_coding·2023년 8월 8일

1. 리턴 타입 지정

리턴값의 타입을 지정한 경우

function calculateSum(numbers: number[]): number {
  return numbers.reduce((sum, num) => sum + num, 0);
}

const result: number = calculateSum([1, 2, 3, 4, 5]);
console.log(result); // Output: 15

리턴값의 타입을 지정하지 않은 경우

function calculateSum(numbers: number[]) {
  return numbers.reduce((sum, num) => sum + num, 0);
}

const result = calculateSum([1, 2, 3, 4, 5]);
console.log(result); // Output: 15

🤔 차이점

리턴값의 타입을 지정한 경우: 함수가 number 타입의 값을 반환한다는 것을 명시적으로 나타냅니다. 코드를 읽는 사람들은 함수의 리턴값이 항상 숫자라는 것을 확신할 수 있습니다.

리턴값의 타입을 지정하지 않은 경우: TypeScript는 배열의 숫자들을 더한 결과값을 타입 추론을 통해 결정합니다. 일반적으로는 결과값이 숫자로 추론될 것입니다. 그러나 TypeScript가 확신을 가지지 못할 경우, 추론된 타입은 보다 일반적인 유니온 타입이 될 수 있습니다.


따라서 대부분의 상황에서 TypeScript가 추론한 타입은 맞을 수 있지만, 가끔씩은 의도하지 않은 동작이 발생할 수 있습니다. 이는 TypeScript가 추론한 타입을 기반으로 코드를 분석하고 타입 검사를 수행하기 때문입니다. 따라서 명시적인 타입 지정을 통해 의도하지 않은 동작을 방지하고 코드의 가독성을 높일 수 있습니다.




2. 단일 객체의 타입과 여러 객체가 담긴 배열의 타입 지정

<user>는 단일 객체 또는 값에 대한 타입을 지정하는 것을 나타냅니다. 예를 들어, 단일 사용자 정보를 표현하는 객체의 타입을 정의할 때 사용할 수 있습니다.

type User = {
  id: number;
  name: string;
  age: number;
};

</ br>

<user[]>는 배열에 포함된 여러 사용자 객체에 대한 타입을 지정하는 것을 나타냅니다. 배열 안에 여러 사용자 정보가 있는 경우에 사용됩니다.

type User = {
  id: number;
  name: string;
  age: number;
};

const users: User[] = [
  { id: 1, name: "Alice", age: 25 },
  { id: 2, name: "Bob", age: 30 },
  // ...
];
profile
꿈많은 개발자

0개의 댓글