相关疑难解决方法(0)

为什么布尔值变为真?

看看下面的代码:

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'.

但实际上有booleanfalse.

我正在使用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

7
推荐指数
2
解决办法
401
查看次数

标签 统计

typescript ×1