interface Animal {
name: string;
color: string;
}
interface Dog {
name: string;
color: string;
isBark: boolean;
}
interface Cat {
name: string;
color: string;
isScratch: boolean;
}
interface Chicken {
name: string;
color: string;
isFly: boolean;
}
Animal
타입으로 부터 중복되는 프로퍼티 값을 받아올 수 있다. (extends
: 확장하다)interface Animal {
name: string;
color: string;
}
interface Dog extends Animal {
isBark: boolean;
}
interface Cat extends Animal {
isScratch: boolean;
}
interface Chicken extends Animal {
isFly: boolean;
}
stirng
타입 → string리터럴
타입interface Animal {
name: string;
color: number;
}
interface Dog extends Animal {
name: "hello"; // ✅
isBark: boolean;
}
interface Animal {
name: string;
color: number;
}
interface Dog extends Animal {
name: number; // ❌오류
isBark: boolean;
}
interface Animal {
name: string;
color: string;
}
interface Dog extends Animal {
isBark: boolean;
}
interface Cat extends Animal {
isScratch: boolean;
}
interface DogCat extends Dog, Cat {}
const dogcat: DogCat = {
name: "",
color: "",
isBark: true,
isScratch: false,
};
타입스크립트 인터페이스는 유연하게 타입을 확장해서 사용할 수 있는 문법을 제공하여 객체타입을 다룰때 유용하게 사용 가능함