JavaScript | JavaScript 演算子の優先順位 一覧表(初心者向け)

javascrpit JavaScript
スポンサーリンク

JavaScript を正確に理解するには、演算子の優先順位(precedence)と結合規則(associativity)を知っておくことが大切です。
これが分かると「どの演算が先に実行されるか」が一目で判断できるようになります。

JavaScript 演算子の優先順位 一覧表(初心者向け)

優先順位(高い順)演算子種類結合方向
20()グループ化左から右(a + b) * c
19. [] ?.メンバーアクセス / オプショナルチェーン左から右obj.key, arr[0], obj?.prop
18new(引数あり)インスタンス生成右から左new Date()
17()(関数呼び出し)関数呼び出し左から右myFunc(x)
16++ --(後置)インクリメント/デクリメント左から右x++, y--
15! ~ + - typeof void delete await ++ --(前置)単項演算子右から左!a, typeof b, ++x
14**べき乗右から左2 ** 3 ** 22 ** (3 ** 2)
13* / %算術演算左から右a * b / c
12+ -加減算左から右a + b - c
11<< >> >>>シフト演算左から右x << 2
10< <= > >= in instanceof比較演算左から右a < b, key in obj
9== != === !==等価・不等価左から右a === b
8&ビット AND左から右a & b
7^ビット XOR左から右a ^ b
6``ビット OR左から右
5&&論理 AND(短絡評価)左から右a && b
4`??`論理 OR / null合体演算
3? :条件(三項)演算子右から左a > 0 ? 1 : -1
2= += -= *= /= %= **= &= `= ^= <<= >>= >>>= &&== ??=`
1,カンマ演算子左から右(a = 1, b = 2)

覚え方のコツ

  1. 「数式に近いものほど優先順位が高い」
     → * / %+ - より先、() は最優先
  2. 「代入や条件は最後に評価される」
     → =? : は一番後ろの方
  3. 「右結合」を覚えておく代表例
     → =**? :右から評価

例で確認!

let x = 2 + 3 * 4;  
// → 2 + (3 * 4) = 14 (掛け算が先)

let y = 2 ** 3 ** 2;  
// → 2 ** (3 ** 2) = 512 (べき乗は右から)

let z = a || b && c;
// → a || (b && c) (ANDがORより優先)
JavaScript

まとめ

  • 括弧 () を使えば、どんな複雑な式でも安全・確実に制御できる。
  • 曖昧なときは「先に評価してほしい部分を括弧で囲む」のが鉄則。
  • 覚え方のコツ:
    「括弧 → 単項 → べき乗 → 掛け算・割り算 → 足し算・引き算 → 比較 → 等価 → 論理 → 代入 → カンマ」
タイトルとURLをコピーしました