当console.log(elementResult);
在控制台中返回[]
时。
比较if(elementResult === [])
返回false
。
为什么?它应该返回true ...
async checkElement() {
let elementResult = await doSomethingGetResult();
console.log(elementResult);
if (elementResult === []) {
console.log("No element exists!");
return false;
} else {
console.log("Element exists!");
return true;
}
}
答案 0 :(得分:1)
两个引用永远都不能为真,这里a
和[]
是两个不同的引用
let a = []
console.log(a === a)
console.log(a === [])
答案 1 :(得分:1)
===
在处理数组时比较实例。
[] === []
总是返回false,因为当您[]
时,您实际上是在创建一个新数组。
console.log([] === [])