eg1:

//冗余但易懂的写法
var len = undefined;
if(book){
    if(book.subtitle) len = book.subtitile.length;
}

//B格
var len = book && book.subtitle && book.subtitle.length;

短路操作,&&有时称为:“短路”。很多代码利用了这一特性来有条件的执行代码。例如,下面两句是完全等价的:

if(a==b) stop();
(a==b) && stop();  //同上

注意:&&运算后的返回值。

 var o = {x:1};
    var p = null;
    console.log(o&& o.x);         //返回啥?结果是:1
    if(o&& o.x){
        alert(2);
    }

你可能感兴趣的:(格)