타입 애일리어스와 인터페이스의 상속(extends)

모두의희망·2023년 1월 9일
0

TypeScript

목록 보기
6/11
post-thumbnail

타입 애일리어스와 인터페이스 상속


타입 애일리어스의 상속

type Animal = { breath: true };
type mammal = Animal & { breed: true };
type Human = mammal & { think: true };

const zerocho: Human = { breath: true, breed: true, think: true };

인터페이스의 상속

interface A {
  breath: true
}
interface B extends A {
  breed: true
}

const b: B = { breath: true, breed: true };

type을 사용할지 interface를 사용할지 정하면됨.interface를 많이 사용함.

인터페이스의 다른 특징

interface A {
   talk: () => void;
}
interface A {
   eat: () => void;
}
interface A {
   shit: () => void;
}
const a: A = { talk() {}, eat() {}, shit() {}, sleep() {} }

interface A {
   sleep: () => void;
}
  • interface는 같은 이름으로 여러번 선언 할 수가있는데 선언 할 때마다 합쳐진다.
  • 이런 합쳐지는 특성 때문에 라이브러리들이 type이 아니라 interface로 만들어 졌다.왜냐하면 나중에 내가 다른사람들의 라이브러리를 확장 할 수가 있기 때문
  • 보통 interface많이쓴다 확장이 쉬워서.. type애일리어는 같은 변수이름 사용 못함.
profile
개발을 진정성 있게 다가가겠습니다.

0개의 댓글