Typescript 带接口的构造函数中的1-n个参数

Typescript 带接口的构造函数中的1-n个参数,typescript,Typescript,我有一个界面: interface I { new(name: string, ...args: any[]); } 以及具有如下构造函数的类: constructor(name: string) { } constructor(name: string, a: number) { } constructor(name: string, a: string, b: string, c: string, d: string) { } constructor(name: string, x

我有一个界面:

interface I {
    new(name: string, ...args: any[]);
}
以及具有如下构造函数的类:

constructor(name: string) { }
constructor(name: string, a: number) { }
constructor(name: string, a: string, b: string, c: string, d: string) { }
constructor(name: string, x: { b: boolean }) { }
它总是告诉我实现不适合接口

我认为使用
,…args:any[]
就足够了,但事实并非如此

这是一个语法错误:
,…args?:any[]

即使所有rest参数都是可选的,也会产生相同的错误:

constructor(name: string, a?, b?, c?) { }
,有人建议不要在接口中使用构造函数原型(是的,我也尝试过重载,但没有成功)。但是最好有一个构造函数接口,至少有这个
name:string
,其余的是可选的


如何让构造函数具有1个强制参数和0-n个可选参数?@Seamus给了您正确的答案。无法实现接口中定义的类的静态属性。但你仍然可以对照他们检查。阅读他提供的链接——它们很好地解释了这个问题


我无法在评论中发布指向更详细示例的链接,因此我将其发布在此处:

我认为您无法在接口中定义构造函数签名。至少不是这样。在这里检查这个答案:还有这个:我不想使用类似代理的方法来创建实例:-/您想如何创建它们?
newmyclass(“Name”)为什么需要接口来执行此操作?