gpt4 book ai didi

typescript :类类型的实例

转载 作者:行者123 更新时间:2023-12-04 13:14:29 24 4
gpt4 key购买 nike

我有一个像这里这样的类的类型 A_Type ?

class A {
constructor(public a: string) {}
}

type A_Type = {new (a: string): A}

并且我想获取 A_Type 的实例的类型构造函数,以便我可以显式键入此函数
class A {
constructor(public a: number) {}
}
// ** not working **
function f<W extends { new(a: number): A }>(e: W): instanceof W {
return new e(2)
}

let w = f(A)

我基本上是在寻找 typeof的反向操作在 typescript 中。

最佳答案

您可以使用内置的 InstanceType<T> 执行此操作的实用程序

class A {
constructor(public a: number) { }
}

// declare that the return value of the class constructor returns an instance of that class
function f<W extends { new(a: number): InstanceType<W> }>(e: W) {
return new e(2) // return type is automatically inferred to be InstanceType<W>
}

let w = f(A) // w: A

Playground link

关于 typescript :类类型的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61623439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com