如何在TypeScript声明文件中设置默认的类属性值?

tru*_*ktr 11 javascript typescript

我有

declare class Foo extends Bar {
    foo: number
}
Run Code Online (Sandbox Code Playgroud)

如何声明它foo具有默认值(或初始值),例如60.

我试过了

declare class Foo extends Bar {
    foo: number = 60
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误

4     foo: number = 60
                    ~~

path/to/something.js/Foo.d.ts/(4,28): error TS1039: Initializers are not allowed in ambient contexts.
Run Code Online (Sandbox Code Playgroud)

Ali*_*aig 24

尝试从类定义中删除声明.通过使用declare,它将定义一个类类型.该类型仅定义,不应具有实现.

class Foo extends Bar {
    foo: number = 60
}
Run Code Online (Sandbox Code Playgroud)

  • @Downvoter,你愿意解释一下吗? (3认同)
  • 我不是拒绝投票的人,但我怀疑这是由于您的假设 (2认同)

Alu*_*dad 4

您的程序试图执行两个相互矛盾的任务。

  1. 它试图声明一个类存在,但实际上是在其他地方/以其他方式实现的
  2. 它试图定义该实现。

您需要确定您希望执行哪些任务,并通过删除初始化程序或修饰符来相应地调整您的程序declare