在condition
部分的以下ternary
声明中,playlist.length
等于playlist.length >= 1
?JavaScript:当`ternary`或`if`语句的`condition`部分不包含`===`或`> =`
var playlist = ["video1", "video2", "video3", "video4", "video5"];
// some code here
alert ((playlist.length) ?
playlist.length + "video(s) remain in the playlist: " + playlist.join (", ") + "."
: "No videos remain in the playlist");
同样地,在下面的代码段中,确实! playlist.length
等于playlist.length === 0
?
alert ((! playlist.length) ?
"No videos in the playlist."
: playlist.length + " video(s) remain in the playlist: " + playlist.join(", ") + ".");
这是第一次看到一个例子,其中一个或
ternary
if
语句的condition
部分不包括这样的标记表示为===
>=
或。所以我不确定如何解释这一点。
'playlist.length'作为一个条件将检查,如果该属性是未定义或不 –
这是非常习惯。任何布尔值都可以在三元/条件中使用。由于0是虚假的,所以'数组。如果在你的例子中使用这个上下文 – Brennan
,它会检查'playlist.length'是否为零。总的来说,它寻找一个“truthy”声明。 – Sirko