JavaScript 演算子

JavaScriptには、大きく分けて次のの演算子があります。

四則演算を示す 「算術演算子」、数値をビットとして扱う 「ビット演算子」、条件を扱う 「論理演算子」、数値の大小を比較する 「比較演算子」、そして演算の結果を変数に代入する 「代入演算子」などが挙げられます。

算術演算子

加算、滅算、乗算、除算、および除算の余りを求める演算子です。数値の計算に使用します。なお、日常的な計算においては、
11 + 8 = 19
のように使用しますが、JavaScriptでは多くの場合、代入演算子を使用して、
a = 11 + 8;

のように変数に計算の結果を代入します。

算術演算子
+加算2つの数値の和を求める(足し算)
-減算2つの数値の差を求める(引き算)
*乗算2つの数値の積を求める(掛け算)
/除算2つの数値で除算を行う(割り算)
%余剰2つの数値で除算を行い、その余りを求める
++インクリメント変数の値を1つ増やす
--デクリメント変数の値を1つ減らす

ビット演算子

ビット演算子では式の数値を32ビットの整数と見なして演算を行います。

たとえば、

12 & 5 は 4(1100 & 0101 = 0100)
12 | 5 は 13(110010101 = 1101)

のようになります。

ビット演算子
&ビット毎のAND2つ値の各ビットの論理積を求める
|ビット毎のOR2つ値の各ビットの論理和を求める
^ビット毎のXOR2つ値の各ビットの排他的論理和を求める
~ビット毎のNOR各ビットの反転させた結果を求める
<<左シフト指定された分の各ビットを左にシフトする
>>右シフト指定された分の各ビットを右にシフトする
>>>符号なし右シフト符号を考えずに右にシフトする

論理演算子

「両方が正しい」、「どちらか一方が正しい」、「正しくない」など、条件を判別するための演算子です。主に if構文の条件式に使用します。また、多くの場合は比較演算子と組み合わせて、

  if ( a > 5 && b >= 10 ){
            // aが5以上、bが10以上の場合の処理
  }

のように使用します。

論理演算子
&&論理積2つ値の論理積を求める(2つが真の場合真)
||論理和2つ値の論理和を求める
!倫理否定指定された値の論理否定を求める
?条件条件が真なら1つ目の文、偽なら2つ目の文を実行する
,カンマ2つの式を続けてに実行する

比較演算子

2つの値の比較を行う演算子です。数値の大小を比較したり、文字列が一致するかどうかを調べたり、値が true と false のどちらであるかを調べたりする際に使用します。

結果は true または false のいずれかになり、さまざまな構文の条件式に使用されます。

以下に if構文での例を示します。

if ( a <10 ){
       //aが10以下の場合の処理
}
if ( name ! = ""){
       //変数nameが、空白文字ではない場合の処理
}
 if ( res == true ){
       //変数resの値がtrueである場合の処理
}
比較演算子
<小なりa < 5 の場合、5未満なら真、5以上なら偽とする
<=以下a <= 5 の場合、5以下なら真、5以上なら偽とする
>大なりa > 5 の場合、5以上なら真、5以下なら偽とする
<=以上a >= 5 の場合、5以上なら真、5未満なら偽とする
==等しいa == 5 の場合、aが 5なら真、それ以外を偽とする
!=等しくないa != 5 の場合、aが 5以外なら真、5なら偽とする

代入演算子

JavaScriptにおける = は、左辺の変数に右辺の値を代入するためのものです。たとえば、
a = 12 + 5;
のように演算の結果を代入したり、
name = "初心者のための" + "ホームページ作り";
のように文字列の結合結果を代入したりします。代入演算子と組み合わせて
name = "初心者のための" + "ホームページ作り";
name += "サイト"    //nameの値は "初心者のためのホームページ作りサイト"

のようにも使用できます。ビット演算子についても同様に記述できます。

代入演算子
=代入値を変数に代入する(数値、文字列を含む)
+=加算指定された値を加算して変数に代入する
-=減算指定された値を減算して変数に代入する
*=乗算指定された値を乗算して変数に代入する
/=除算指定された値を除算して変数に代入する
%=余剰指定された値で除算し、余りを変数に代入する


This Page is HTML4.01 Valid! 初版更新日 2003年5月11日
Copyright(C) 2002-2003 banban@scollabo.com