條件 (三元) 運算子 (?:)

更新:2007 年 11 月

根據條件傳回兩個運算式的其中一個。

 test ? expression1 : expression2

引數

  • test
    任何 Boolean 運算式。

  • expression1
    testtrue 時,所傳回的運算式。可為逗號運算子。

  • expression2
    testfalse 時,所傳回的運算式。可為逗號運算子。

備註

?: 運算子可當做 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.";

需求

1 版

請參閱

概念

運算子優先順序

運算子摘要

參考

if...else 陳述式