JavaScriptの演算子の優先順位
優先度 | 文法 | 例 |
---|---|---|
21 | ( ___ ) | グループ化 |
20 | ___ . ___ | プロパティへのアクセス |
___ ?. ___ | オプショナルチェイニング | |
___ [ __ ] | プロパティや配列へのアクセス | |
___ ( ___ ) | 関数呼び出し | |
new ___ ( ___ ) | インスタンス生成 | |
19 | new ___ | 引数無しインスタンス生成 |
18 | ___ ++ | 後置インクリメント |
___ -- | 後置デクリメント | |
17 | ! ___ | 論理NOT |
~ ___ | ビットNOT | |
+ ___ | 単項+ | |
- ___ | 単項- | |
++ ___ | 前置インクリメント | |
-- ___ | 前置デクリメント | |
typeof ___ | typeof | |
void ___ | void | |
delete ___ | delete | |
await ___ | await | |
16 | ___ ** ___ | べき乗 |
15 | ___ * ___ | 乗算 |
___ / ___ | 除算 | |
___ % ___ | 剰余 | |
14 | ___ + ___ | 加算 |
___ - ___ | 減算 | |
13 | ___ << ___ | ビットシフト |
___ >> ___ | ||
___ >>> ___ | 符号無しビットシフト | |
12 | ___ < ___ | 不等号 |
___ < ___ | ||
___ <= ___ | ||
___ > ___ | ||
___ >= ___ | ||
___ in ___ | プロパティ存在チェック | |
___ instanceof ___ | instanceof | |
11 | ___ === ___ | 等号 |
___ == ___ | ||
___ !== ___ | 不等号 | |
___ != ___ | ||
10 | ___ & ___ | ビットAND |
9 | ___ ^ ___ | ビットXOR |
8 | ___ | ___ | ビットOR |
7 | ___ && ___ | 論理AND |
6 | ___ || ___ | 論理OR |
5 | ___ ?? ___ | Null合体 |
4 | ___ ? ___ : ___ | 三項条件 |
3 | ___ = ___ | 代入 |
___ += ___ | 計算代入 | |
___ -= ___ | ||
___ **= ___ | ||
___ *= ___ | ||
___ /= ___ | ||
___ %= ___ | ||
___ <<= ___ | ||
___ >>= ___ | ||
___ >>>= ___ | ||
___ &= ___ | ||
___ ^= ___ | ||
___ |= ___ | ||
___ &&= ___ | ||
___ ||= ___ | ||
2 | yield ___ | yield |
yield* ___ | yield* | |
1 | ___ , ___ | 複数式のためのコンマ |
ポイント
- 以下は演算子ではありません
- アロー関数で使う
=>
- スプレッド構文と残余引数でつかう
...
- ループでの
of
とin
with
文
- アロー関数で使う
- インクリメントとデクリメントは、前置と後置とでは挙動も優先順位も異なります