Top | Contents | Prev | Next
演算子(operator)

 算数の勉強で学習した足し算、引き算に使われる + , - や大きさ、量などの比較に使用される不等号は演算子(えんざんし)と呼ばれプログラミングの世界では重要な役割を持っています。例えば変数に値を代入するには代入演算子の=(イコール)を使用したり、データ型のチェックを行うにはデータチェック演算子のasを使用します。

演算子と被演算子(operand)
 演算子にはいくつかの種類があり、その種類によって役割が異なります。例えば1 + 2 の場合演算子は「+」の部分です。それ以外の1と2は被演算子と呼びます。他にも下記で例をあげてみます。

・次のコードの演算子 > は変数 i は 5 よりも大きい事を示してします。
i > 5;

・次のコードでは変数 fooに = (代入演算子)を使用して文字列"OkeyDokey"を代入しています。(= は等しいという意味ではなく代入を意味します。)
foo = "Okeydokey";
演算子の種類
 演算子は種類が多いので今ここで全てを覚える必要はありませんので使用しながら覚えていくとよいと思います。下記に演算子をグループ別にしてその種類を明記しています。(一部コンポーネントリファレンスガイ引用)
基本演算子

演算子

実行される演算

[]

配列の初期化、各エレメントにアクセスする事ができる。

{x:y}

オブジェクトの初期化

()

式のグループ化 (1+2) /(1.5)

f(x)

関数の呼び出しを行う事ができます。(識別子の後に()を付ける)

new

コンストラクタの呼び出し(クラスのインスタンス作成)myArray:Array = new Array("one","two","three");

x.y x[y]

プロパティへのアクセス

<></>

XMLList オブジェクトの初期化 (E4X 仕様に規定)

@

属性へのアクセス (E4X 仕様に規定)

::

名前の修飾 (E4X 仕様に規定)

..

子孫 XML エレメントへのアクセス (E4X 仕様に規定)

加算(かさん)演算子
 加算演算子は2つのオペランドを取り加算か減算を実行します。例えば1 + 2 という式があります。この1と2はオペランドであり、+ は加算演算子です。

演算子

実行される演算

+

加算

-

減算

単項演算子
 単項演算子は1つのオペランドを取り演算を実行します。

例:
下の表の単項プラス演算子を例に挙げて説明すると
var i:uint = 5;
trace(++i);
trace(i);
//出力結果 6
//出力結果 6

演算子

実行される演算

++

インクリメント (前置方式)

--

デクリメント (前置方式)

+

単項プラス

-

単項マイナス

!

論理否定 (NOT)

~

ビット単位の論理否定 (NOT)

delete

プロパティの削除

typeof

タイプ情報を返す

void

未定義の値を返す

後置演算子
 後置演算子にはインクリメントとデクリメントがあります。インクリメントは変数の値を1増加させ、デクリメントは1減らします。

演算子

実行される演算

++

インクリメント (後置方式)

--

デクリメント (後置方式)


例:
 下のコードでは変数 i を宣言し値に5を代入してインクリメントを実行しました。注意していただきたいのは後置演算子のインクリメントは実行後に反映されます。下のコードのtrace(i++);の時点ではまだ変数の値には反映されず出力結果は5のままです。上記で説明した単項演算子のインクリメントと見比べてみください。

var i:uint = 5;
trace(i++);
trace(i);
//出力結果 5
//出力結果 6

乗法演算子

乗法演算子は、2 つのオペランドを取り、乗算、除算、または剰余計算を実行します。

演算子

実行される演算

*

乗算

/

除算

%

剰余

ビット単位シフト演算子
 ビット単位シフト演算子は 2 つのオペランドを取り、2 番目のオペランドで指定された範囲で最初のオペランドのビットをシフトします。

演算子

実行される演算

<<

ビット単位の左シフト

>>

ビット単位の右シフト

>>>

ビット単位の符号なし右シフト

関係演算子

 関係演算子は 2 つのオペランドを取り、値を比較してブール値を返します。次の i > 5 の式は変数 i は5 よりも大きいかどうかを比較しています。

演算子

実行される演算

<

より小さい

>

より大きい

<=

より小さいか等しい

>=

より大きいか等しい

as

データ型のチェック

in

オブジェクトプロパティのチェック

instanceof

プロトタイプチェーンのチェック

is

データ型のチェック

等価演算子

 等価演算子は 2 つのオペランドを取り、値を比較してブール値を返します。次の i == 10 の式は変数 i は10 は10であるかどうかを比較しています。

演算子

実行される演算

==

等価

!=

不等価

===

厳密な等価

!==

厳密な不等価

ビット論理演算子

 ビット論理演算子は 2 つのオペランドを取り、ビットレベルの論理演算を実行します。ビット演算子には実行される優先順位があり高いものから順に次の表に示しています。

演算子

実行される演算

&

ビット単位の論理積 (AND)

^

ビット単位の排他的論理和 (XOR)

|

ビット単位の論理和 (OR)

論理演算子
 論理演算子は 2 つのオペランドを取り、ブール値の結果を返します。論理演算子には実行される優先順位があり高いものから順に次の表に示しています。

演算子

実行される演算

&&

論理積 (AND)

||

論理和 (OR)

条件演算子

 条件演算子は三項演算子であり、3 つのオペランドを取ります。条件演算子は条件式の結果でtrueとfalseの2つの処理を指定します。

演算子

実行される演算

?:

三項演算

代入演算子
代入演算子は 2 つのオペランドを取り、他のオペランドの値に基づいて 1 つのオペランドに値を割り当てます。

例:
 下のコードでは変数 i を宣言し代入演算子を使用し値に5を代入しています。

var i = 5;



演算子

実行される演算

=

代入

*=

乗算後代入

/=

除算後代入

%=

剰余を代入

+=

加算後代入

-=

減算後代入

<<=

ビット単位での左シフト後代入

>>=

ビット単位での右シフト後代入

>>>=

ビット単位での符号なし右シフト後代入

&=

ビット単位の論理積 (AND) を代入

^=

ビット単位の排他的論理和 (XOR) を代入

|=

ビット単位の排他的論理和 (OR) を代入

トップへ
Top | Contents | Prev | Next