为什么这不返回布尔值

时间:2015-11-18 21:25:29

标签: javascript

我继承了一些有这一行的javascript:

var vehicle = data.vehicles && data.vehicles.length > 0 && data.vehicles[0];

这将返回data.vehicles [0]对象,而不是true或false。为什么呢?

2 个答案:

答案 0 :(得分:1)

&&||不会完全归还布尔值。 &&返回最后一个真值(或第一个假),||返回第一个真值或最后一个虚假。

答案 1 :(得分:0)

试试这个:

var vehicle = !!(data.vehicles && data.vehicles.length > 0 && data.vehicles[0]);

希望这个解释可以帮助您: basic_truthy_falsy