先占个坑,简单说下
之前经常在项目里使用 && 和 || 来判断空的值,但是一直都含含糊糊的没有该清楚为什么会这样返回,查了MDN,是因为 && 和 || 都具有短路特性(short-circuit),这个我之前也知道,重点是计算过程
计算过程:
true && false 很好理解是返回 false,
true && ‘hello‘ && ‘666‘ 返回的不是 true 也不是 ‘hello‘ 而是 ‘666‘ ,可以这样理解,‘666‘ 是最后一个被计算的而且也可以被转为 true ,所以逻辑上和返回 true 是一致的。
参考
JavaScript中逻辑与( && )和逻辑或( || )的短路特性以及返回值的问题
原文:https://www.cnblogs.com/ljhou/p/14260274.html