더북(TheBook)

자바스크립트는 다른 언어에 비해 객체를 수정하는 것이 자유롭습니다. 따라서 다른 라이브러리의 객체를 수정하는 경우가 많은데 이렇게 객체를 수정하게 되면 타입스크립트에서 정의한 객체 타입과 달라져 에러가 발생하는 경우가 생겼습니다. 따라서 타입스크립트에서도 그 객체에 대한 타입을 수정할 수 있는 기능이 필요하게 되었고, 이것이 인터페이스가 합쳐지는 이유입니다. 다른 사람이 수정해도 되는 객체의 타입을 인터페이스로 선언해두면 다른 사람은 언제든지 같은 이름의 인터페이스를 만들어 타입을 수정할 수 있습니다.

다만 인터페이스 간에 속성이 겹치는데 타입이 다를 경우에는 에러가 발생합니다. 속성이 같은 경우에는 타입도 같아야 합니다.

interface Merge {
  one: string;
}
interface Merge {
  one: number; 
}
// Subsequent property declarations must have the same type. Property 'one' must be of type 'string', but here has type 'number'.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.