条件演算子(三項演算子)

広告

条件演算子は三項演算子とも呼ばれる演算子で条件によって処理を分けることができます。書式は次の通りです。

条件式 ? 式1 : 式2

条件式には論理値または論理値に変換可能な値を記述します。条件式の値がtrueだった場合に式1を評価した結果を返し、falseだった場合に式2を評価した結果を返します。

次の例を見てください。

var num;
var sign;

num = 20;
sign = num >= 0 ? '正' : '負';

条件式に記述された「num >= 0」を評価します。変数「num」の値が20ですので正しく条件式はtrueとなります。よって「'正'」という式が評価されて返されます。結果的に変数「sign」には条件演算子全体の値である'正'が代入されます。

条件によって処理を分ける場合、通常はif文を使って行いますが、簡単なものであれば条件演算子を使っても記述することができます。

サンプルコード

では簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script14_1.js">
</script>

</body>
</html>
var num;
var sign;

num = 20;
sign = num >= 0 ? '正' : '負';
document.write("<p>" + num + "は" + sign + "</p>");

num = -16;
sign = num >= 0 ? '正' : '負';
document.write("<p>" + num + "は" + sign + "</p>");

上記を実際にブラウザ見てみると次のように表示されます。

p14-1

( Written by Tatsuo Ikura )