组合嵌套条件逻辑运算符

Combining nested conditional logical operators

我想知道是否有任何可以帮助我找到资源来教我更多关于逻辑运算符的知识,并为我回答一个问题。我想(为了满足我的好奇心)将这些嵌套的条件检查与逻辑运算符组合成一个语句。

if(obj1 != null && obj2 != null) {
    if(obj1 != undefined && obj2 != undefined) {
        //do something here
    }
}

我试过了

if((obj1 != null || obj1 != undefined) && (obj2 != null || obj2 != undefined)) {
    //do something here
}

但我认为这行不通,因为如果 obj1 或 obj2 等于 null 或 undefined,则 or 语句的计算结果将为真。因此,如果 obj1 为 null 或 undefined AND obj2 为 null 或 undefined,则上述条件代码将被执行,这绝对不是我想要的。

那么如何将嵌套的条件语句合并成一行呢?

谢谢! :)

你可能想多了。代码如

if (a) {
    if (b) {
        // stuff
    }
}

仅当ab都为真时才执行stuff,所以它等同于

if (a && b) {
    // stuff
}

因此,您所要做的就是将现有条件与 && 联系起来。你可以写

if((obj1 != null && obj2 != null) && (obj1 != undefined && obj2 != undefined)) {
    //do something here
}