[typescript] 타입 앨리어스와 인터페이스의 차이점은 무엇인가요?

타입 앨리어스 (Type Alias)

타입 앨리어스는 새로운 이름으로 기존 타입에 대한 참조를 만드는 데 사용됩니다. 이것은 어떠한 종류의 타입(기본 타입이나 객체 타입)에도 적용될 수 있습니다.

type Person = {
  name: string;
  age: number;
};

type Point = {
  x: number;
  y: number;
};

type StringOrNumber = string | number;

인터페이스 (Interface)

인터페이스는 객체의 구조에 이름을 붙이는 데 사용됩니다. 인터페이스는 객체, 클래스, 함수 등 다양한 곳에 사용될 수 있습니다.

interface Person {
  name: string;
  age: number;
}

interface Point {
  x: number;
  y: number;
}

interface Shape {
  color: string;
  area(): number;
}

주요 차이점

🔗 참고 자료: