무기/타입스크립트

<타입스크립트> 타입 별칭 vs 인터페이스

디벅잉 2022. 2. 4. 22:34
728x90

 

🎯

 

{ 타입 별칭 vs 인터페이스 }

타입스크립트에서 기능이 비슷해 보이는 타입 별칭(type alias)과 인터페이스(interface)를 비교해 보고자 합니다.

 

1. 구현 문법

타입 별칭

type Pizza = {
  calories: number
  salty: boolean
  tasty: boolean
}

인터페이스 

interface Pizza {
  calories: number
  salty: boolean
  tasty: boolean
}

 

2. 타입 확장

타입 별칭

type PineapplePizza = Pizza & {
  pineapple: boolean
}

인터페이스 

interface PineapplePizza extends Pizza {
  pineapple: boolean
}

 

3. 중복 선언

타입 별칭은 동일한 이름으로 중복 선언할 수 없습니다.

인터페이스는 동일한 이름으로 중복하여 선언할 수 있으므로 주의해야 합니다.

 

4. 대입가능한 값

타입 별칭의 오른편에는 타입 표현식을 포함한 모든 타입이 등장할 수 있습니다.

인터페이스의 오른편에는 반드시 형태가 나와야 합니다.

 

5. 타입 오버로딩

타입 별칭에서는 인터섹션으로 타입을 확장할 때 다른 타입을 가지는 동일한 이름이 있을 경우 타입 오버로딩이 됩니다.

인터페이스는 상속할 때 다른 타입을 가지는 동일한 이름이 있으면 에러가 발생합니다.

 

📌

 

타입스크립트 프로그래밍 / 보리스 체르니 지음 / 우정은 옮김 / 인사이트

 

728x90