본문 바로가기

나의 FE피봇이야기/Javascript

[JS/Type] interface and type

타입스크립트 공식문서에 차이는 아래와 같다고 한다.

 the key distinction is that a type cannot be re-opened to add new properties vs an interface which is always extendable.

타입은 새로운 속성을 추가하기 위해 유형을 다시 열 수 없는 반면, 인터페이스는 항상 확장할 수 있다는 점이 가장 큰 차이점입니다.

출처
https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#differences-between-type-aliases-and-interfaces

 

  interface type
property 추가  O  O
동일 명칭 사용 가능  O X

 

interface Bear extends Animal  { honey : boolean }    vs    type Bear = Animal & { honey : boolean }

 

Adding new fields to an existing interface   vs  A type cannot be changed after being created