JavaScript 演算子の優先順位
演算子の優先順位は、算術式で演算が実行される順序を表します。
乗算 (*) と除算 (/) は、加算 (+) と減算 (-)よりも優先されます。
従来の数学と同様に、乗算が最初に行われます。
let x = 100 + 50 * 3;
括弧を使用する場合、括弧内の演算が最初に計算されます。
let x = (100 + 50) * 3;
同じ優先順位の操作 (* や / など) は、左から右に計算されます。
let x = 100 / 50 * 3;
演算子の優先順位の値括弧内の式は、式の残りの部分が実行される前に計算され、結果が式の残りの部分で使用される前に関数が実行されます。 |
|||
| val | オペレーター | 説明 | 例 |
| 18 | ( ) | 式のグループ化 | (100 + 50) * 3 |
| 17 | . | Member Of | person.name |
| 17 | [] | Member Of | person["name"] |
| 17 | ?. | オプションのチェーン接続 ES2020 | x?.y |
| 17 | () | 関数呼び出し | myFunction() |
| 17 | new | new new with Arguments | new Date("2022年6月5日") |
| 16 | new | new without Arguments | new Date() |
|
インクリメント演算子 Postfixインクリメントの前にPrefixインクリメントが実行されます。 |
|||
| 15 | ++ | Postfixインクリメント | i++ |
| 15 | -- | Postfixデクリメント | i-- |
| 14 | ++ | Prefixインクリメント | ++i |
| 14 | -- | Prefixデクリメント | --i |
| 演算子ではありません | |||
| 14 | ! | 論理否定 | !(x==y) |
| 14 | 〜 | ビット単位のNOT | ~x |
| 単項演算子 | |||
| 14 | + | 単項プラス | +× |
| 14 | - | 単項マイナス | -× |
| 14 | typeof | データ・タイプ | typeof x |
| 14 | void | ボイドの評価 | void(0) |
| 14 | delete | プロパティの削除 | delete myCar.color |
|
算術演算子 べき乗は掛け算の前に実行されます。 乗算と除算は足し算と引き算の前に実行されます |
|||
| 13 | ** | 累乗 | 10 ** 2 |
| 12 | * | 乗算 | 10×5 |
| 12 | / | 分割 | 10 / 5 |
| 12 | % | 除算剰余 | 10% 5 |
| 11 | + | 追加 | 10 + 5 |
| 11 | - | 減算 | 10 - 5 |
| 11 | + | 連結 | 「ジョン」+「ドウ」 |
| シフト演算子 | |||
| 10 | << | 左にシフト | × << 2 |
| 10 | >> | 右シフト (署名付き) | × >> 2 |
| 10 | >>> | 右シフト (符号なし) | × >>> 2 |
| 関係演算子 | |||
| 9 | in | Property in Object | "PI" in Math |
| 9 | instanceof | オブジェクトのインスタンス | x instanceof Array |
| 比較演算子 | |||
| 9 | < | 未満 | x < y |
| 9 | <= | 以下 | x <= y |
| 9 | > | より大きい | x > y |
| 9 | >= | 以上 | x >= array |
| 8 | == | 同等 | x == y |
| 8 | === | 厳密に等しい | x === y |
| 8 | != | 不平等 | x != y |
| 8 | !== | 厳格な不平等 | x !== y |
| ビット演算子 | |||
| 7 | & | ビット演算 AND | x & y |
| 6 | ^ | ビット単位の XOR | x^y |
| 5 | | | ビットごとの OR | × | y |
| 論理演算子 | |||
| 4 | && | 論理積 | x && y |
| 3 | || | 論理和 | × || y |
| 3 | ?? | Null 合体 ES2020 | x ?? y |
| 条件付き(3項)演算子 | |||
| 2 | ? : | 状態 | ? "Yes : No" |
|
代入演算子 その他の操作の後に割り当てが実行されます。 |
|||
| 2 | = | 単純な割り当て | x = y |
| 2 | : | コロン割り当て | ×:5 |
| 2 | += | 加算代入 | x += y |
| 2 | -= | 減算代入 | x -= y |
| 2 | *= | 乗算代入 | x *= y |
| 2 | **= | 累乗代入 | x **= y |
| 2 | /= | 除算演算子 | x /= y |
| 2 | %= | 剰余の剰余演算子 | x %= y |
| 2 | <<= | 左シフト代入 | x <<= y |
| 2 | >>= | 右シフト代入 | x >>= y |
| 2 | >>>= | 符号なし右シフト | × >>>= y |
| 2 | &= | ビットごとのAND代入 | x &= y |
| 2 | |= | ビットごとのOR代入 | x |= y |
| 2 | ^= | ビット単位のXOR代入 | x ^= y |
| 2 | &&= | 論理積代入 | x &= y |
| 2 | ||= | 論理和代入 | x ||= y |
| 2 | => | アロー関数 | x => y |
| 2 | yeild | 一時停止/再開 | yeild × |
| 2 | yeild* | 委譲 | yeild * x |
| 2 | ... | spread | ... x |
| 1 | , | コンマ | x , y |