在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