演算子

Home>Flash>動画のつくりかた>演算子

この情報はお役に立ちましたか?よろしければ皆様にもお知らせください。

  このエントリーをはてなブックマークに追加 mixiチェック  

演算と演算子

演算とは、加減乗除などの計算をする際の記号のことです。
演算子とは、加減乗除を示す記号のことで、たとえば足し算(加算)ならば、+(プラス)であり、引き算(減算)であれば-(マイナス)のことを指します。

オペランドとオペレータ

オペランドとは、演算を行う対象のことで、数値や変数のことを指します。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に値が入っていなければ、{~}の内容を実行します。

関連リンク

よく読まれている記事

UpDate:2011-7-19