演算子
演算と演算子
演算とは、加減乗除などの計算をする際の記号のことです。
演算子とは、加減乗除を示す記号のことで、たとえば足し算(加算)ならば、+(プラス)であり、引き算(減算)であれば-(マイナス)のことを指します。
オペランドとオペレータ
オペランドとは、演算を行う対象のことで、数値や変数のことを指します。A+Bであれば、AとBがオペランドです。
オペレータとは、演算子のことで、A+Bならば、+がオペレータです。
演算子の種類と意味
= | 代入演算子 | 左辺の変数に右辺を代入する。A=Bのとき、Aの内容はBの内容と同じになる。 |
+ | 算術演算子 | 左辺と右辺を足す。加算。文字列の場合はつなげる。A+Bのように使う。 |
++ | 算術演算子 | 左辺の値に1を足す。A++のように使う(Aに1を足す)。インクリメント。 |
- | 算術演算子 | 左辺から右辺を引く。減算。A-Bのように使う。 |
-- | 算術演算子 | 左辺の値から1を引く。A--のように使う(Aから1引く)。デクリメント。 |
* | 算術演算子 | 左辺に右辺の値をかける。乗算。A*Bのように使う。 |
/ | 算術演算子 | 右辺で左辺を割る。除算。A/Bのように使う。 |
% | 算術演算子 | 右辺で左辺を割った余りを求める(剰余)。A%Bのように使う。 |
+= | 複合代入演算子 | 左辺に右辺を加算して代入。文字列の場合はつなげて代入。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とする。 |
== | 比較演算子 | 左辺と右辺が等しいことを示す。 |
=== | 比較演算子 | 左辺と右辺の値とデータ型の両方とも等しいことを示す。 |
!= | 比較演算子 | 左辺と右辺が等しくないことを示す。 |
!== | 比較演算子 | 左辺と右辺の値とデータ型の両方とも等しくないことを示す。 |
> | 比較演算子 | 左辺が右辺より大きいことを示す。 |
>= | 比較演算子 | 左辺が右辺以上であることを示す。 |
< | 比較演算子 | 左辺が右辺より小さいことを示す。 |
<= | 比較演算子 | 左辺が右辺以下であることを示す。 |
&& | 論理演算子 | 左辺と右辺がtrueのときはtrue、そうでないときはfalseを返す。オペランドの一方が論理値でないときは、左辺がfalseに変換できれば左辺、できなければ右辺を返す。論理積。 |
|| | 論理演算子 | 左辺か右辺のいずれかがtrueならばtrue、そうでなければfalseを返す。オペランドの一方が論理値でないときは、左辺がtrueに変換できれば左辺、できなければ右辺を返す。論理和。 |
! | 論理演算子 | 値がtrueのときfalse、falseのときtrueを返す。論理否定。 |
| | ビット演算子 | 論理和。値を2進数に換算し、どちらかが1ならば1にする。 |
& | ビット演算子 | 論理積。値を2進数に換算し、両方が1ならば1、一方が0ならば0にする。 |
~ | ビット演算子 | 否定。 |
<< | ビット演算子 | 左シフト。 |
> | ビット演算子 | 右シフト。 |
>> | ビット演算子 | 符号なし右シフト。 |
^ | ビット演算子 | 排他的論理和。 |
|= | ビット演算子 | 論理和の後に代入。 |
&= | ビット演算子 | 論理積の後に代入。 |
~= | ビット演算子 | 否定して代入。 |
<<= | ビット演算子 | 左シフト後に代入。 |
>= | ビット演算子 | 右シフト後に代入。 |
>>= | ビット演算子 | 符号なし右シフト後に代入。 |
^= | ビット演算子 | 排他的論理和の後に代入。 |
, | 評価式の列挙。 | |
. | オブジェクトのメンバーにアクセスする。 | |
: | データ型の指定。 | |
?: | 条件分岐演算子 | 条件分岐。A?B:Cのとき、AがtrueならばB、falseならばCを返す。 |
:: | 名前空間の識別。 | |
[] | 配列の初期化、配列の要素にアクセス。 | |
{} | オブジェクトの作成。 | |
() | 式のグループ化。A*(B+C)の場合、B+Cを計算してからAをかける。 | |
/ | 正規表現。 | |
/* */ | コメントアウトブロック。プログラム実行時に、その範囲はコメントとみなされ無視される。/*から開始し、*/で閉じる。複数行にまたがることができる。 | |
// | コメントアウト行。プログラムの実行時にその行はコメントとみなされ無視される。 | |
as | データ型の評価。 | |
delete | オブジェクトのプロパティの削除。 | |
in | オブジェクトのプロパティを調べる。配列のインデックス番号を調べる。 | |
instanceof | インスタンスかどうかを調べる。 | |
is | データ型との互換性を調べる。 | |
new | インスタンスを新規作成する。 | |
typeof | データ型を示す文字列を返す。 | |
void | 式の戻り値をudefinedにする。 |
インクリメントとデクリメント
インクリメントやデクリメントは、それぞれ1足す、1引くといった単純な計算を行います。こういった演算子を使う場面は、後述するループ処理を行うときなどに、何か処理を行った後に1を足してカウントする、といったような使い方をします。
Aに1を足す場合、インクリメントを使わなければ、A=A+1という式を書きます。これは、AにA+1の値を代入するという意味なので、結果的にAに1を足す、ということになります。
このように書くと、コードが冗長になるため、1を足す場合には、A++と書きましょう。
複合代入演算子
+=のような演算子は、A+=Bというように記述します。これもループ処理などで読み込んだ値に他の値を足していく、といった処理をする場合に使うほか、その値に他の値を足すだけの計算をする場合にはよく使います。
AにBを足す場合、複合代入演算子を使わなければ、A=A+Bと書きます。これも、複合代入演算子を使うことで、コードを短くできます(A+=B)。
論理演算子
論理値(ブール値)とは、true又はfalseの2つの値しかとらないものを指します。論理演算子は、左辺か右辺のどちらか一方が論理値でない場合には、動作が変わります。一般的には、左辺と右辺とも論理値のときに使います。
論理積や論理和は、後述の条件分岐で使うif文の中で使うことが多いです。if ( A == B && A < C ){~}などと書きます。この場合は、AがBと等しく、かつ、AがCよりも小さい場合に、{~}の命令を実行します。
論理否定は、!Aのように書きます。この場合、Aに値が入っていない、という意味になります。これも、if文の中で、if ( !A ) { ~ }のように書きます。この場合は、Aに値が入っていなければ、{~}の内容を実行します。
関連リンク
よく読まれている記事
- 右クリックメニューの表示が遅い【Information】
- 画像の一部にリンクを貼る(クリッカブルマップ【Dreamweaver】
- 一定時間でローテーションする広告【JavaScript】
- Dreamweaver【Dreamweaver】
- クリックした画像を拡大・縮小する【JavaScript】
UpDate:2011-7-19