type vs interface 확장성 차이
작성
// Interface는 확장이 가능합니다 (extends 사용 가능)
interface Person {
name: string;
}
interface Employee extends Person {
employeeId: number;
}
const employee: Employee = {
name: "Alice",
employeeId: 1234,
};
// Type은 원시 타입이나 유니온 타입으로도 선언 가능하지만 확장이 불가능합니다 (extends 불가)
type Color = "red" | "green" | "blue";
type ID = number | string;
type Vehicle = {
brand: string;
};
// 타입을 확장하려면 새롭게 정의해야 합니다
type Car = Vehicle & {
wheels: number;
};
const myCar: Car = {
brand: "Toyota",
wheels: 4,
};