(myVar && foo())在JavaScript中意味着什么?

Val*_*Val 6 javascript operators logical-operators

(myVar && foo())
Run Code Online (Sandbox Code Playgroud)

上面的代码是什么意思?它等同于什么?

我认为它运行在一条线上.

bra*_*rad 8

表达式计算myvarif是否myvar为falsey,foo()如果myvar是真的.以下片段几乎完全相同.

var x = (myvar && foo());

if(myvar){ var x = foo(); } else { var x = myvar; }
Run Code Online (Sandbox Code Playgroud)