Javascript Typescript中的泛型-未定义的T
Typescript的泛型存在问题,其中类型在泛型函数或类的范围内未定义。我找不到关于这个的任何文档,尽管我认为它是设计的。有没有一种方法可以实现我想要的,安全地打字Javascript Typescript中的泛型-未定义的T,javascript,generics,typescript,Javascript,Generics,Typescript,Typescript的泛型存在问题,其中类型在泛型函数或类的范围内未定义。我找不到关于这个的任何文档,尽管我认为它是设计的。有没有一种方法可以实现我想要的,安全地打字 function test<T>() { return new T(); } class TestClass<T> { public build(): T { return new T(); } } 功能测试(){ 返回新的T(); } 类TestClass{ 公
function test<T>() {
return new T();
}
class TestClass<T> {
public build(): T {
return new T();
}
}
功能测试(){
返回新的T();
}
类TestClass{
公共构建():T{
返回新的T();
}
}
链接到播放:
类型脚本泛型(与C#等其他语言不同)仅在编译时使用。因此,您不能在运行时位置使用它们,例如newt
有没有一种方法可以实现我想要的,安全地打字
显式地传递构造函数。e、 g
class测试类{
公共生成(x:{new():T}):T{
返回新的x();
}
}
在这里,
x:{new():T}
我是说,x
是当用new
调用时,给出了T
的一个实例,有关非泛型版本的解释,请参见
class TestClass<T> {
public build(x:{new ():T}): T {
return new x();
}
}