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
'무기 > 타입스크립트' 카테고리의 다른 글
<타입스크립트> 너의 의미: 협업 (0) | 2022.04.25 |
---|---|
<타입스크립트> 익스프레스, 타입스크립트로 마이그레이션 (0) | 2022.04.14 |