看看下面的代码:
export class Smth {
private flag: boolean;
public update() {
this.flag = true;
this.inner();
if (this.flag === false) { // Operator '===' cannot be applied to types 'true' and 'false'.
console.log(123);
}
}
private inner() {
this.flag = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我无法理解这条线有什么问题
if (this.flag === false)
Run Code Online (Sandbox Code Playgroud)
打字稿说
运算符'==='不能应用于类型'true'和'false'.
但实际上有boolean和false.
我正在使用typescript 2.6.2但是在线游乐场用2.7显示相同的结果.
它不是运算符''='的公开,不能应用于Typescript 2中的类型x和y,因为该问题是关于比较常量.但在我的代码中,它是一个可查询的类字段,并且有一个函数可以更改值.而且,它被称为.
this.flag = true;
this.inner(); // exectues this.flag = false;
if (this.flag === false) { // ... …Run Code Online (Sandbox Code Playgroud) typescript ×1