谁能发现我可能做错的事情?您可以浏览器放大以查看图像详细信息.
这是一个新帐户,新项目,群组所有者,我根本无法按照提供的说明推送(HTTPS).
在我的代码中,我假设以下||
短路是安全的:
var $holidayExpandBarOrOpeningHours =
$(".expandBar + .holidayHours_c").prev() || $(".openingHours");
Run Code Online (Sandbox Code Playgroud)
但令我惊讶的是,如果我们使用true语句短路空数组,仍然会返回一个空数组.我将在下面演示一些控制台代码,我的问题是为什么[] || true
评估[]
.
false || "expected"
"expected"
false == []
true
[] || "expected"
[]
typeof([])
"object"
({}) || "expected"
Object {}
({}) == false
false
{} == false
SyntaxError: Unexpected token ==
Run Code Online (Sandbox Code Playgroud)
我的一部分认为这是因为一个数组是一个object
评估为真的数组,但是如果是这样的话,那么基于({}) == true
一个人的期望[] == true
.
最后我要注意的是使用use 'strict'
模式时结果是一样的.