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 |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。