奇怪的逻辑运算
一般语言的逻辑运算结果都是 true或者false但是js就很个性,我就是其中一个操作数的值。
对于双目运算符,如果能成功短路运算,就是左操作数的值,短路不了,那就是右操作数的值。
var a = 10 || false; // a == 10
var a = false && 10; // a == false
var a = 10 && false; // a == false
// 由此一种安全的赋值写法
var a = a || 7; // a如果解释为false 则a为7