【问题标题】:when function expression to declare class how can I define type?当函数表达式声明类时如何定义类型?
【发布时间】:2020-07-18 15:44:43
【问题描述】:
const Foo: new () => any = class {
  constructor() {}
  bar(): string {
    return ‘Hello World!’;
  }
};
const instance = new Foo();

下面我想替换任何原因我的配置不允许任何

new () => 任意

如何定义 Foo() 的结果?

【问题讨论】:

    标签: typescript function class function-expression


    【解决方案1】:

    我建议定义一个名为 Foo 的接口来对应名为 Foo 的类表达式创建的实例:

    interface Foo {
      bar(): string;
    }
    

    然后你可以将Foo声明为new () => Foo类型:

    const Foo: new () => Foo = class {
      constructor() { }
      bar(): string {
        return 'Hello World!';
      }
    };
    

    希望有所帮助;祝你好运!

    Playground link to code

    【讨论】:

    • inferface Foo {} 可以代表类的实例类型吗?那么非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多