論理演算子を使って計算をする
JavaScript における演算子についてご紹介します。ホームページやブログなどのウェブサイトで、JavaScript を使って演算を行うことができます。ここでは if文での場合分けなどに便利な論理演算子について扱います。
| && | 論理積 | 2つの値の論理積を求めます。(両方が true の場合のみ true) |
| || | 論理和 | 2つの値の論理和を求めます。(片方または両方が true なら true ) |
| ! | 論理否定 | 指定された値の論理否定を求めます。 |
| ?: | 条件 | 条件が true なら1つ目の文、false なら2つ目の文を実行します。 |
| , | カンマ | 2つの式を続けて実行します。 |
サンプルです。
<SCRIPT LANGUAGE="JavaScript">
<!--
</SCRIPT>;
<!--
a = 10 ; b = 5 ;
document.write("a = 10、b = 5 のとき<br>");
document.write("a > b && a < b は ", a > b && a < b ,"です。<br>" );
document.write("a > b || a < b は ", a > b || a < b ,"です。<br>" );
document.write("a > b は ", ( a > b ) ? "真です。" : "偽です。" ,"<br>" );
document.write("a < b は ", ( a < b ) ? "真です。" : "偽です。" );
//-->document.write("a = 10、b = 5 のとき<br>");
document.write("a > b && a < b は ", a > b && a < b ,"です。<br>" );
document.write("a > b || a < b は ", a > b || a < b ,"です。<br>" );
document.write("a > b は ", ( a > b ) ? "真です。" : "偽です。" ,"<br>" );
document.write("a < b は ", ( a < b ) ? "真です。" : "偽です。" );
</SCRIPT>;
このソースを表示させると、次のようになります。
上記のようなサンプルは、1度表示したらそれっきりですので わざわざ JavaScript を用いて表示するまでもないような内容です。一般的には、フォームなどを使って入力された数値の計算などに用いられます。
下記のフォームの、左側のテキストボックスに、5より小さい または 10より大きく、かつ3で割り切れる整数(つまり 6および 9以外の 3の倍数) を入力して、『答える!』ボタンを押してみてください。正解、不正解が右側のテキストボックス内に表示されます。
このサンプルのソースは、次のようになっています。
<SCRIPT LANGUAGE="JavaScript">
<!--
function CalcA() {
</SCRIPT>
<form name="SanjutuA">
<!--
function CalcA() {
Text1 = eval(document.SanjutuA.text1.value);
document.SanjutuA.ans.value = ( ( Text1 > 10 || Text1 < 5 ) && Text1 % 3 == 0 ) ? "正解です。" : "不正解です。" ;
}
//-->document.SanjutuA.ans.value = ( ( Text1 > 10 || Text1 < 5 ) && Text1 % 3 == 0 ) ? "正解です。" : "不正解です。" ;
}
</SCRIPT>
<form name="SanjutuA">
<input type="text" name="text1" size="4" value="9">
<input type="button" value="答える!" onClick="CalcA()">
<input type="text" name="ans" size="12">
</form>
<input type="button" value="答える!" onClick="CalcA()">
<input type="text" name="ans" size="12">
このように、論理演算子を利用すれば 複数の条件の場合分けを 短いソースで記述することができます。
演算子には 優先順位があります。このサンプルで、 ( Text1 > 10 || Text1 < 5 ) の部分が括弧で括られているのは、論理演算子『||』が、『&&』よりも優先順位が低いため、括弧で括って先に処理させる必要があるからです。
演算子の優先順位については詳細はこちらです。→『演算子の優先順位』
ランキングに参加中です! お役に立てたらクリックをお願いします→
コンピュータとインターネット > データ形式 > HTML > リファレンス