[typescript] 인터페이스와 타입 별칭에서의 타입 추론과 타입 어노테이션 차이

TypeScript에서는 인터페이스타입 별칭을 사용하여 자바스크립트 코드에 타입을 추가할 수 있습니다. 이 두 가지 기능은 유사하지만, 몇 가지 중요한 차이점이 있습니다. 하나는 타입 추론과 타입 어노테이션이 어떻게 동작하는지입니다.

타입 추론(Type Inference)

TypeScript에서 변수에 값을 할당할 때, 해당 변수의 타입이 추론됩니다. 예를 들어, 다음과 같은 코드가 있다고 가정해봅시다.

let age = 25;

이 경우, TypeScript는 age가 숫자타입임을 추론합니다. 따라서 따로 타입을 명시하지 않아도 됩니다.

타입 어노테이션(Type Annotation)

반면에, 타입 어노테이션은 개발자가 명시적으로 타입을 지정하는 것을 말합니다. 즉, 변수나 함수의 타입을 명시적으로 지정하는 것입니다.

예를 들어, 다음과 같이 변수 name에 문자열 타입을 명시적으로 지정할 수 있습니다.

let name: string = "John";

인터페이스(Interfaces)와 타입 별칭(Type Aliases)

이러한 타입 추론과 타입 어노테이션의 개념은 인터페이스타입 별칭에서도 동일하게 적용됩니다.

인터페이스는 일반적으로 타입 추론을 사용하며, 타입 별칭은 타입 어노테이션을 사용합니다.

interface Person {
  name: string;
  age: number;
}
type Point = {
  x: number;
  y: number;
};

결론

인터페이스타입 별칭은 TypeScript에서 타입을 정의하는 데 사용되는 두 가지 주요한 방법입니다. 이 두 가지 기능 모두 유용하지만, 타입 추론과 타입 어노테이션의 차이를 이해하고, 어떤 상황에서 사용해야 하는지를 이해하는 것이 중요합니다.

자세한 내용은 TypeScript 공식 문서를 참조해주시기 바랍니다.

TypeScript 공식 문서 - 인터페이스

TypeScript 공식 문서 - 타입 별칭

위 내용은 TypeScript의 버전 4.4.3에서 작성되었습니다.