English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript 基礎チュートリアル

JavaScript オブジェクト

JavaScript 関数

JS HTML DOM

JS ブラウザBOM

AJAX 基礎チュートリアル

JavaScript 参考マニュアル

JavaScript 运算子優先順位

演算子の優先順位は、演算子が解析される方法を決定します。

高い優先順位を持つ演算子は、低い優先順位を持つ演算子の操作数となります。

以下の例では、乗算の優先順位が加法の優先順位よりも高いため、演算の結果が決定されます。

// まず3乗算5、その後加算10
var x = 10 + 3 * 5;
試してみて‹/›

逆に、加法演算をまず実行したい場合、括弧でグループ化し、その括弧は常に最高の優先順位を持っています。

// まず10と3加算を行い、その後乗算5
var x = (10 + 3) * 5;
試してみて‹/›

括弧を使用する場合、まず括弧内の演算を計算します。

多くの演算が同じ優先順位を持っている場合(例えば、加法と減法)、それらは左から右に計算されます:

var x = 10 + 3 - 5;
試してみて‹/›

JavaScriptの結合性

式の評価も演算子の結合性に影響されます。

結合性とは、全体の式の評価方向(右から左または左から右)を指します。

もし式に同じ優先順位を持つ二つ以上の演算子が含まれている場合、どの演算子をまず計算するかは、結合性が答えます。

JavaScriptでの関連や優先順位の問題を解決するために以下のテーブルを参照してください

演算子使用説明演算子の結合演算子の優先順位
()メソッド/機能呼び出し、グループ化左から右最高- 1
[]配列アクセス左から右1
.オブジェクト属性アクセス左から右1
++自増右から左2
--自減右から左2
-減法
右から左2
!論理反転右から左2
~ビット反転右から左2
delete配列の値やオブジェクトの属性を削除する右から左2
newオブジェクトを作成する右から左2
typeofデータタイプを返す右から左2
void返すべき値を指定しない右から左2
/除法左から右3
*乗法左から右3
%求模左から右3
+加法左から右4
+文字列結合左から右4
-減法左から右4
>>ビット右シフト左から右5
<<ビット左シフト左から右5
>, >=大きい、大きいかつ左から右6
<, <=小さい、小さいかつ左から右6
==一致左から右7
!=不等左から右7
===一致/厳しく一致(同じデータタイプ)左から右7
!==不一致/厳しく異なる(異なるデータタイプ)左から右7
&ビット AND左から右8
^ビット XOR左から右9
|ビット或左から右10
&&論理と左から右11
||論理または左から右12
?:条件分岐左から右13
=代入右から左14
*=, /=, %=, +=,, -=, <<=, >>=, >>>=, &=, ^=, |=前の演算子に基づいて割り当てる右から左14
,多重評価左から右最低:15