刚刚写代码坑了一下自己:
const arr = [];
if(arr.length === 0) {
arr.push(1);
}
if(arr.length > 0) {
console.log("Test");
}
上述是最开始的代码(简化版),运行时符合预期。
我一看if之间互斥且和为全集,干脆改成if-else:
const arr = [];
if(arr.length === 0) {
arr.push(1);
} else {
console.log("Test");
}
结果不符合预期了。
由于真实业务代码略微复杂,在找原因的时候一直没注意到这里,前面if的执行会影响到后面的if
展开
6