인터페이스 선언 합치기

woodstock·2024년 1월 28일
0
post-thumbnail

선언 합침

타입 별칭은 동일한 스코프 내에 중복된 이름으로 선언할 수 없는 반면에 인터페이스는 가능하다.

중복된 이름의 인터페이스 선언은 결국 모두 하나로 합쳐지기 때문이다.

따라서 위 코드에 선언한 Person 인터페이스들은 합쳐져 아래와 같은 인터페이스가 된다.

interface Person {
	name: string;
	age: number;
}

이렇게 동일한 이름의 인터페이스들이 합쳐지는 것을 선언 합침이라고 하며, 다음과 같이 사용할 수 있다.

주의할 점

만약 동일한 이름의 인터페이스들이 동일한 이름의 프로퍼티를 서로 다른 타입으로 정의한다면 오류가 발생한다.

이렇게 동일한 프로퍼티의 타입을 다르게 정의한 상황을 ‘충돌’ 이라고 표현하며 선언 합침에서 이런 충돌은 허용되지 않는다.

아래와 같이 동일한 타입으로 정의하는 것은 문제없다.

profile
해내는 사람

0개의 댓글