我继承了一些有这一行的javascript:
var vehicle = data.vehicles && data.vehicles.length > 0 && data.vehicles[0];
这将返回data.vehicles [0]对象,而不是true或false。为什么呢?
答案 0 :(得分:1)
&&
和||
不会完全归还布尔值。 &&
返回最后一个真值(或第一个假),||
返回第一个真值或最后一个虚假。
答案 1 :(得分:0)
试试这个:
var vehicle = !!(data.vehicles && data.vehicles.length > 0 && data.vehicles[0]);
希望这个解释可以帮助您: basic_truthy_falsy