演算子の優先順位

更新 : 2007 年 11 月

演算子の優先順位は、式を評価するときにコンパイラが実行する演算の順序を制御する、JScript における規則セットです。優先順位の高い演算は、優先順位の低い演算より先に実行されます。たとえば、乗算は加算より先に実行されます。

優先順位表

次の表では、JScript の演算子を優先順位の高い順に上から並べています。

優先順位

評価順序

演算子

説明

15

左から右

., [], ()

フィールド アクセス、配列のインデックス付け、関数の呼び出し、および式のグループ化

14

右から左

++、--、-、~、!、delete、new、typeof、void

単項演算子、戻り値の型、オブジェクトの作成、未定義の値

13

左から右

*, /, %

乗算、除算、剰余

12

左から右

+, -

加算および文字列の連結、減算

11

左から右

<<, >>, >>>

ビット シフト

10

左から右

<、<=、>、>=、instanceof

小なり、以下、大なり、以上、instanceof

9

左から右

==, !=, ===, !==

等値、非等値、厳密等価、厳密非等価

8

左から右

&

ビットごとの AND

7

左から右

^

ビットごとの XOR

6

左から右

|

ビットごとの OR

5

左から右

&&

論理 AND

4

左から右

||

論理 OR

3

右から左

?:

条件

2

右から左

=, OP=

代入、複合代入

1

左から右

, (コンマ)

複数の評価

式でかっこを使用すると、演算子の優先順位と関係なく、演算の実行順序を変更できます。つまり、かっこの内側の演算は、かっこの外側の演算よりも先に実行されます。ただし、かっこの内側の演算子には通常の優先順位が適用されます。

次に例を示します。

z = 78 * (96 - 3 + 45)

この式には、=、*、()、-、および + の 5 つの演算子があります。演算の優先順位の規則に従うと、これらの演算子は ()、-、+、*、= の順に実行されます。

  1. 最初に、かっこの内側の演算子が評価され、演算が実行されます。かっこ内には、加算演算子と減算演算子があります。どちらの演算子も優先順位が同じなので、左から右の順に演算が実行されます。まず 96 から 3 を引いて、結果は 93 になります。次に、93 に 45 を足して、結果は 139 になります。

  2. 次に、かっこの外側の乗算が実行されます。78 に 139 が掛けられ、演算結果は 10764 になります。

  3. 最後に代入が実行されます。z に 10764 が代入されます。

参照

概念

演算子の一覧

その他の技術情報

JScript の演算子