据我所知,逻辑&&的工作方式如下

var test = false;
var foo = test && 42;

如果第一个条件评估为42,则此代码将foo分配给true 。因此,在此示例中,foo将保留其当前值。

我想知道为什么这段代码根本不起作用:
var test = "";
var foo = test && 42;

现在,foo从分配的test获取值。我很困惑空字符串是Javascript虚假值之一,那么在这种情况下&&运算符为什么会失败?

有人可以帮我解决这个规范吗?

最佳答案

您已经回答了自己的问题。

var foo = test && 42;

仅当42评估为true 时,才会将foo分配给test

因此,如果test为空字符串(评估为false),则不会将42分配给foofoo将为空字符串。

07-25 23:05
查看更多