理解JavaScript速记(如果/ &&)

Joh*_*erg 0 javascript shorthand

我试图理解别人写的这行代码:

myVar1 = myVar1 && myJsonData.myObj[filterName]['myKey'][0] === myFilterValue;
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我这意味着什么(没有缩短)!?谢谢

Ted*_*opp 6

如果myVar1是"虚假"值*,则它保持其当前值.(&&如果左操作数的计算结果为false,myVar1则运算符不会计算其右操作数.)否则,将根据比较的值设置为truefalse

myJsonData.myObj[filterName]['myKey'][0] === myFilterValue
Run Code Online (Sandbox Code Playgroud)

 *在JavaScript "falsy"的值是false0, ""(空字符串), ,null,undefinedNaN.