演算子
演算と演算子
演算とは、加減乗除などの計算をする際の記号のことです。
演算子とは、加減乗除を示す記号のことで、たとえば足し算(加算)ならば、+(プラス)であり、引き算(減算)であれば-(マイナス)のことを指します。
オペランドとオペレータ
オペランドとは、演算を行う対象のことで、数値や変数のことを指します。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
