🤖
TypeScript で、ある型を満たす型を定義する
extends を使う。
name: string
を必ず持っているオブジェクトの型を定義する
例 1:プロパティ type RequiredObject<T extends { name: string}> = T
type MyObject = RequiredObject<
{
name: string; // ここが無ければ型エラー
email: string;
}
>
例 2:ある型が Error オブジェクト型を継承しているかチェックする
type ShouldBeError<T extends Error> = T;
// MyCustomError 型が Error 型を継承していなければ型エラー
type T = ShouldBeError<MyCustomError>;
などなど。
Discussion
タイポかもと思いました
また、ぼくも
extends
を使ってデモ作ってみましたdemo code
ありがとうございます。Typo 直しておきました。