f.e。,我有
declare class Foo extends Bar {
foo: number
}
如何声明foo
的默认值(或初始值)为60。
我试过
declare class Foo extends Bar {
foo: number = 60
}
但是我收到了像
这样的错误4 foo: number = 60
~~
path/to/something.js/Foo.d.ts/(4,28): error TS1039: Initializers are not allowed in ambient contexts.
答案 0 :(得分:20)
尝试从类定义中删除声明。通过使用declare,它将定义一个类类型。该类型仅定义,不应具有实现。
class Foo extends Bar {
foo: number = 60
}
答案 1 :(得分:4)
你的程序试图执行两个相互矛盾的任务。
您需要确定要执行哪些任务,并通过删除初始化程序或declare
修饰符来相应地调整程序。
答案 2 :(得分:-5)
您需要一个构造函数才能将默认值设置为类属性。
试试这个:
((0.0, 100.0), (0.0, 100.0), (0.0, 100.0), (0.0, 100.0))
<强>更新强> 仔细查看你的代码片段后,我注意到你正在使用关键字declare,这样做,你刚刚定义了一个类类型,而这个不需要实现。
更新2: 此类不需要类构造函数,您可以使用或不使用一个构造函数初始化。
如果删除关键字声明,它应该可以正常工作。
declare class Foo extends Bar {
foo: number;
constructor(){
this.foo = 60;
}
}