如果查询,则反转JavaScript中两个"或"语句的逻辑

bra*_*cho 1 javascript logic if-statement

if在JavaScript中进行了测试,它实现了我想要的但不尽可能优雅.它是这样的:

if (x > y || p < q) {
    // don't do anything
} else {
   doSomeFunction();
}
Run Code Online (Sandbox Code Playgroud)

如果有任何方法可以翻转这个逻辑,那么只有一个if语句而不必具有虚拟if条件以及else条件?

p.s*_*w.g 8

您可以使用!运算符来反转条件:

if (!(x > y || p < q)) {
   doSomeFunction();
}
Run Code Online (Sandbox Code Playgroud)

或者简单地重写这样的条件:

if (x <= y && p >= q) {
   doSomeFunction();
}
Run Code Online (Sandbox Code Playgroud)

注意:请参阅De Morgan的法律,了解为什么这两个条件相同.