답변:
키워드 extends는 인터페이스 및 클래스에만 사용할 수 있습니다.
추가 속성이있는 유형을 선언하려는 경우 교차 유형을 사용할 수 있습니다 .
type UserEvent = Event & {UserId: string}
TypeScript 2.2에 대한 업데이트 로 , 유형이 일부 제한 사항을 충족하는 경우 객체와 같은 유형을 확장하는 인터페이스를 가질 수 있습니다 .
type Event = {
name: string;
dateCreated: string;
type: string;
}
interface UserEvent extends Event {
UserId: string;
}
그것은 다른 방식으로 작동하지 않습니다- 구문 을 사용하려는 경우 UserEvent가 아니라 인터페이스로 선언해야 합니다.typeextends
그리고 extend 임의의 유형과 함께 사용 하는 것은 여전히 불가능합니다. 예를 들어 Event제약 조건이없는 유형 매개 변수 인 경우 작동하지 않습니다 .
interface A<T> extends B<T> {blar}인터페이스는 정적으로 알려진 멤버와 함께 오브젝트 유형 또는 오브젝트 유형의 교차점 만 확장 할 수 있습니다.
interface Identifiable<T> extends T { id: string }"인터페이스는 객체 유형 또는 정적으로 알려진 members.ts (2312)를 사용하여 객체 유형의 교차점 만 확장 할 수 있습니다"
당신이 달성하려고하는 것은
interface Event {
name: string;
dateCreated: string;
type: string;
}
interface UserEvent extends Event {
UserId: string;
}
타입을 정의한 방법으로 상속을 지정할 수는 없지만 artem이 지적한 것처럼 교차 타입을 사용하여 비슷한 것을 얻을 수 있습니다 .
interface실제로 의미하는 단어를 좋아하지 않아type
type키워드는 정의하는 데 사용됩니다 유형 별칭 이 아닌 인터페이스 나 클래스를.