【发布时间】:2018-12-16 20:14:52
【问题描述】:
以下 TypeScript 代码在启用 strictNullChecks 和 strictPropertyInitialization 的情况下无法编译:
class SampleClass {
private _foo: string;
constructor(foo: string) {
this.foo = foo;
}
public get foo() {
return this._foo;
}
public set foo(foo: string) {
this._foo = foo;
}
}
编译器抱怨“属性 '_foo' 没有初始化器,并且没有在构造函数中明确分配。”
我可以通过向_foo 添加明确的赋值断言来解决此问题,但我不明白为什么需要这样做。构造函数调用foo 的设置器,然后设置_foo。这是一个错误,还是我不明白的地方?
在撰写本文时,我使用的是最新版本的 TypeScript (3.2.1)。
【问题讨论】:
标签: typescript