gpt4 book ai didi

typescript - 如何用静态方法声明接口(interface)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:19 25 4
gpt4 key购买 nike

我想在接口(interface) - IFoo 中的 baz 中声明一个替代构造函数,但在 TypeScript 中似乎是不可能的:

interface IFoo {
bar(): boolean;
static baz(value): IFoo;
}

class Foo implements IFoo {
constructor(private qux) {}
bar(): boolean {
return this.qux;
}
static baz(value): IFoo {
return new Foo(value);
}
}

如何做到这一点并为 baz 进行适当的类型检查?

最佳答案

你可以用匿名类做到这一点:

一般情况

export const MyClass: StaticInterface = class implements InstanceInterface {
}

你的例子:

interface IFooStatic {
baz(value): IFoo;
}

interface IFoo {
bar(): boolean;
}

const Foo: IFooStatic = class implements IFoo {
constructor(private qux) {}
bar(): boolean {
return this.qux;
}
static baz(value): IFoo {
return new Foo(value);
}
}

关于typescript - 如何用静态方法声明接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719459/

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