問題一覧に戻る
中級高度な型
問題43: InstanceType'<'T'>'

InstanceType'<'T'>'ユーティリティ型を使って、コンストラクタ関数型からインスタンスの型を取得する方法を学びます。クラスのインスタンス型を明示的に定義したい場合や、ファクトリー関数の戻り値の型を定義する際に有用です。

// クラス定義
class User {
constructor(
public name: string,
public age: number
) {}
}

// インスタンス型を取得
type UserInstance = <typeof User>;

const user: UserInstance = new User("Bob", 30);