條件 (三元) 運算子 (?:)
根據條件傳回兩個運算式的其中一個。
test ? expression1 : expression2
引數
Test - 測試
任何 Boolean 運算式。expression1
test 為 true 時,所傳回的運算式。 可為逗號運算子。expression2
test 為 false 時,所傳回的運算式。 可為逗號運算子。
備註
?: 運算子可當做 if...else 陳述式的簡短表示法。 在一些大型運算式中,若使用 if...else 陳述式會顯得很冗長,因此通常會只用此大型運算式其中一部分。 例如:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
上述範例會在下午 6 點後建立內含 "Good evening." 的字串。 以下是同樣的程式碼但使用 if...else 陳述式:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";