控制台向我展示: 真正 未定义 我认为控制台应显示: 假 未定义 因为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;
});
}
答案 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;}
双重否定将“真”或“虚假”值转换为布尔值true
或false