且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在TypeScript中指定任何可更新的类型?

更新时间:2023-10-15 08:49:52

您可以使用{ new(...args: any[]): any; }允许带有构造函数且带有任何参数的任何对象.

You can use { new(...args: any[]): any; } to allow any object with a constructor with any arguments.

class A {

}

class B {
    public Foo(newable: typeof A):void {

    }

    public Bar(newable: { new(...args: any[]): any; }):void {

    }
}

var b = new B();
b.Foo(A);
b.Bar(A);  // no error
b.Bar({}); // error