Type과 Interfase 차이점

rnrnrnr·2023년 1월 15일
0
post-thumbnail

결론

뭘 사용할지 모를때는 interface 를 사용하고 type 의 특성이 필요할때만 type 을 사용

튜플이나 단순한 원시값의 타입 선언은 type 을 사용 하지만 정답은 없고 팀의 컨벤션에 따라가는게 좋을 것 같다.

상속 받는 법

typeinterface는 객체의 타입의 이름을 지정하는 것입니다.

둘의 기능은 거의 비슷하지만 몇 가지 차이점이 있습니다.

  • interface : extends
  • type : &
interface interface1 {
  a: string;
}

interface interface2 extends interface1 {
  b: string;
}

const interfaceConst: interface2 = {
  a: 'a',
  b: 'b'
}

type type1 = {
  a: string;
}

type type2 = type1 & {
  b: string;
};

const typeConst: type2 = {
  a: 'a',
  b: 'b',
}

선언적 확장 / 자동 확장

interface 는 같은 이름의 객체를 다시한번 선언하면 자동으로 확장이 됩니다. 하지만 type 은 불가능 합니다.

interface interface {
	a: number
}

interface interface {
	b: number
}

const interfaceConst: interface = {
	a: 1,
	b: 2,
}

이를 Interfaces는 Declaration merging이 가능하지만, Types는 Declaration merging이 불가능하다고 한다.

profile
rnrnrnr

0개의 댓글