繁体   English   中英

推断TypeScript中的构造函数类型

[英]Infer constructor type in TypeScript

是否可以在TypeScript中推断类的构造函数类型? 我尝试了这个,但似乎不起作用:

type Constructor<K> = K extends { new: infer T } ? T : any;

可以尝试通过类的构造函数引用类类型,而不是尝试进行推断吗?

type Constructor<K> = { new(): K };

const x: Constructor<String> = String; 

const s = new x();

已经有一个预定义的条件类型,它允许您从一个名为InstanceType的类类型中提取实例类型。

class A { private x: any}

type AInstance = InstanceType<typeof A> // same as A

此类型的定义是:

type InstanceType<T extends new (...args: any) => any> = T extends new (...args: any) => infer R ? R : any;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM