次のようなタイプがあるとします。
type Event = {
name: string;
dateCreated: string;
type: string;
}
私は今この型を拡張したい、つまり
type UserEvent extends Event = {
UserId: string;
}
これは機能しません。どうすればいいですか?
ベストアンサー1
このキーワードはextends
インターフェースとクラスにのみ使用できます。
追加のプロパティを持つ型を宣言したい場合は、次のようにします。交差点タイプ:
type UserEvent = Event & {UserId: string}
TypeScript 2.2のアップデート、オブジェクトのような型を拡張するインターフェースを持つことが可能になった型がいくつかの制限を満たす場合:
type Event = {
name: string;
dateCreated: string;
type: string;
}
interface UserEvent extends Event {
UserId: string;
}
逆の場合は機能しません。構文を使用する場合はUserEvent
、 ではなくインターフェースとして宣言する必要があります。type
extends
そして、まだ使用できないextend
任意の型たとえば、Event
制約のない型パラメータの場合は機能しません。