如何在if指令中检查类型'undefined'?

时间:2019-01-14 21:34:39

标签: angular typescript

控制台向我展示: 真正 未定义 我认为控制台应显示: 假 未定义 因为mytickets等于未定义。

 ngOnInit() {
    this.getMyTickets();

    if (this.mytickets !== null || this.mytickets !== undefined)  {
      this.showMyTickets = true;
    } else {
      this.showMyTickets = false;
    }
    console.log(this.showMyTickets);
    console.log(this.mytickets);

  }

  getMyTickets() {
    this.mtService.getAllMyTickets().subscribe(res => {
      this.mytickets = res;
    });
  }

2 个答案:

答案 0 :(得分:0)

@ConnorsFan用户已经回答了您的问题。


if (this.mytickets !== null || this.mytickets !== undefined)

应该看起来像这样:

if (this.mytickets !== null && this.mytickets !== undefined)
//                          ^^

更惯用的JavaScript方式就像

if (this.mytickets)

因为非空,未定义的对象在true布尔表达式中被视为if值。

您可以在MDN about "truthy" in JavaScript上阅读。

答案 1 :(得分:0)

您还可以使用!!(两次否定)来检查this.mytickets是否已定义。

if(!!this.mytickets){this.showMyTickets = true;}

双重否定将“真”或“虚假”值转换为布尔值truefalse