JavaScriptで使用する演算子
Java Scriptで使用される演算子は Perlや C言語によく似ています。VisualBasicなど他の言語を使用されていた方には使用したことがない演算子も出てくるので覚えておいて下さい。
またプログラムを書いた事が無いという方のために簡単な例を説明しておきます。下の例をご覧になって下さい。
a = b + c
プログラムを記述した事の無い方には、変数 aの値と変数 b、cの和が等しい。と言う意味にも捉えられるかもしれませんが、これはプログラムの世界では変数 b、cの和を変数 aへ代入する。と言う意味になります。「もう知っているよ!!」とおっしやる方も多いと思いますが、そういう方はどんどん進んでいって下さい。
算術演算子
基本的に数値に対し行う演算子(+、-、*、/以外にも複数あります)
| 例 |
説明 |
| a + b |
a と b を足す |
| a - b |
a から b を引く |
| a * b |
a と b をかける |
| a / b |
a を b で割る |
| a % b |
a を b で割った余り |
| a++ |
a の値を 1増やす ( インクリメント ) |
| a-- |
a の値を 1減らす ( デクリメント ) |
|
インクリメント、デクリメントでは演算子の位置により意味が異なります( 下参照 )
a = 10 ;
document.write(a++) ; // 表示( 10 )
a = 10 ;
document.write(++a) ; // 表示( 11 )
ご覧にようにインクリメント演算子が前にある時は処理が行われる前にインクリメントが実行されます。逆に演算子が後ろにある場合は、処理が行われた後インクリメントが実行されます。
代入演算子
ある変数に値を代入する時に使用します。
| 例 |
説明 |
| a = b |
b を a に代入する |
| a += b |
a と b を足したものを a へ代入 |
| a -= b |
a から b を引いたものを a へ代入 |
| a *= b |
a と b をかけたものを a へ代入 |
| a /= b |
a を b で割ったものを a へ代入 |
| a %= b |
a を b で割った余りを a へ代入 |
|
ビット演算子
ビット単位での処理を行う演算子です。
| 例 |
説明 |
| a | b |
a と b の OR |
| a & b |
a と b の AND |
| ~a |
a の否定 ( 全てのビットの反転 ) |
| a << 1 |
a を左に 1ビットシフト ( 2倍 ) |
| a >> 1 |
a を左に 1ビットシフト ( 1/2 ) |
|
a = 100 ;
document.write(a << 1) ; // 表示 ( 200 )
a = 100 ;
document.write(a >> 2) ; // 表示( 50 )
比較演算子
比較演算子とは、値の大小関係を評価します。
| 例 |
説明 |
| a == b |
等しい |
| a != b |
等しくない |
| a > b |
a が b より大きい |
| a >= b |
a が b 以上 |
| a < b |
a が b より小さい |
| a <= b |
a が b 以下 |
|
以下は比較演算子を使用したサンプルです。変数 aの値が 100以上であれば「値は 100以上です。」と表示し、100以下であれば「値は100未満です。」と表示します。
var a = 100 ;
if( a >= 100 ) {
Response.Write("値は100以上です。") ;
} else {
Response.Write("値は100未満です。") ;
}
真と偽
上で比較演算子は [ 値の大小関係を評価します ] と書きましたが、評価してどうするんでしょう?? 代入演算子などは値が代入されていますので結果が目に見えていますね。 この比較演算子は 評価して条件が成立するか ( 真 ) しないか ( 偽 ) の論理値を返すものなんです。
論理値これは ( true 、 false ) の二つという事は前途してありますが、比較演算子では比較の関係が成立すればその式自体が真、又成立しなければ偽の値になります。この返された論理値を使い条件分岐するの代表が上の例で使用している if文です。
関係が成り立つので真となる
100 = 100
関係が成り立たないので偽となる
100 <> 100
論理演算子
論理演算子は左辺、右辺の二つを評価して論理値 ( 真 / 偽 ) を返します。
| 例 |
説明 |
優先度 |
| !a |
aの否定、偽の時に真を返し、真の時に偽を返します |
1 |
| a && b |
左辺右辺が共に真であれば真、それ以外は偽を返します |
2 |
| a || b |
左辺か右辺のどちらかが真であれば真、それ以外は偽を返します |
3 |
|
// 左辺右辺ともに真なので真となります。
true && true
// 右辺が偽なので偽となります。
true && false
// 左辺が真なので真となります。
true || false
// 真の否定で偽となります。
!true
// ややこしいですがこれは偽となります。
!true || true && !true
文字列結合演算子
二つの文字列を結合します。
| 例 |
説明 |
| a + b |
変数 aと変数 bを結合します |
|
var a = "Hello ";
var b = "World";
var c = a + b ;
上の例で変数 cは aと bが結合されて [ Hello World ] になります。 文字列連結演算子 ( + ) は算術演算子ではありませんが、優先順位はどの算術演算子よりも低く、どの比較演算子よりも高くなります。
条件演算子
条件演算子とは条件の真か偽によって代入する値を変更する事が出来ます。Visual Basicにある IIFと良く似ている構文です。
条件演算子を使用しない
if ( 条件式 ) {
代入変数 = 真 ;
} else {
代入変数 = 偽 ;
}
条件演算子使用
< 代入変数 > = < 条件式 > ? < 真 > : < 偽 > ;
if文などを用いるよりスッキリする??お好みですが・・
|