「JavaScript/演算子」の版間の差分

削除された内容 追加された内容
ジェネレーター関数にリンク
タグ: ビジュアルエディター モバイル編集 モバイルウェブ編集 改良版モバイル編集
Ef3 (トーク | 投稿記録)
→‎演算子の優先順位: sortable wikitable ; sty.
611 行
 
== 演算子の優先順位 ==
{| class="sortable wikitable"
|+ JavaScriptの演算子の優先順位と結合性<ref>スプレッド構文は演算子ではないので含めていない。</ref>
!優先順位!!演算子のタイプ!!結合性!!構文
618 行
| style="text-align:left;padding: 0 1em" | グループ化
| style="text-align:center;padding: 0 1em" | なし
| style="text-align:right center ;padding: 0 1em" | ( ... )
|-
! rowspan=5 | 20
| style="text-align:left;padding: 0 1em" |ドット記法プロパティアクセサ
| rowspan=2 style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align:right center ;padding: 0 1em" | ... . ...
|-
| style="text-align:left;padding: 0 1em" | ブラケット記法プロパティアクセサ
| style="text-align:right center ;padding: 0 1em" | ... [ ... ]
|-
| style="text-align:left;padding: 0 1em" | new(引数リスト付き)
| rowspan=1 style="text-align:center;padding: 0 1em" | なし
| style="text-align:right center ;padding: 0 1em" | new ... ( ... )
|-
| style="text-align:left;padding: 0 1em" | 関数の呼び出し
| rowspan=2 style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align:right center ;padding: 0 1em" | ... ( ... )
|-
| style="text-align:left;padding: 0 1em" | オプショナルチェイニング
| style="text-align:right center ;padding: 0 1em" | ?.
|-
! rowspan=1 | 19
| style="text-align:left;padding: 0 1em" | new (引数リストなし) || 右から左 || new ...
| style="text-align:center;padding: 0 1em" | 右から左へ
| style="text-align: center ;padding: 0 1em" | new ...
|-
! rowspan=2 | 18
| style="text-align:left;padding: 0 1em" | 後置インクリメント
| rowspan=2 style="text-align:center;padding: 0 1em" | なし || ... ++
| style="text-align: center ;padding: 0 1em" | ... ++
|-
| style="text-align:left;padding: 0 1em" | 後置 デクリメント || ... --
| style="text-align: center ;padding: 0 1em" | ... --
|-
! rowspan=10 | 17
| style="text-align:left;padding: 0 1em" | ロジカルNOT (!)
| rowspan=4 style="text-align:center;padding: 0 1em" | 右から左へ || ! ...
| style="text-align: center ;padding: 0 1em" | ! ...
|-
| style="text-align:left;padding: 0 1em" | ビット単位のNOT (~) || ~ ...
| style="text-align: center ;padding: 0 1em" | ~ ...
|-
| style="text-align:left;padding: 0 1em" | 単項プラス (+) || + ...
| style="text-align: center ;padding: 0 1em" | + ...
|-
| style="text-align:left;padding: 0 1em" | 単項マイナス (-) || - ...
| style="text-align: center ;padding: 0 1em" | - ...
|-
| style="text-align:left;padding: 0 1em" | 前置インクリメント
| rowspan=2 style="text-align:center;padding: 0 1em" | なし || ++ ...
| style="text-align: center ;padding: 0 1em" | ++ ...
|-
| style="text-align:left;padding: 0 1em" | 前置 デクリメント || -- ...
| style="text-align: center ;padding: 0 1em" | -- ...
|-
| style="text-align:left;padding: 0 1em" | typeof
| typeof
| rowspan=4 style="text-align:center;padding: 0 1em" | 右から左へ || typeof ...
| style="text-align: center ;padding: 0 1em" | typeof ...
|-
| style="text-align:left;padding: 0 1em" | void
| void || void ...
| style="text-align: center ;padding: 0 1em" | void ...
|-
| style="text-align:left;padding: 0 1em" | delete
| delete || delete ...
| style="text-align: center ;padding: 0 1em" | delete ...
|-
| style="text-align:left;padding: 0 1em" | await
| await || await ...
| style="text-align: center ;padding: 0 1em" | await ...
|-
! rowspan=1 | 16
| style="text-align:left;padding: 0 1em" | 累乗(**)
| 累乗(**) || 右から左へ || ... ** ...
| style="text-align:center;padding: 0 1em" | 右から左へ
| style="text-align: center ;padding: 0 1em" | ... ** ...
|-
! rowspan=3 | 15
| style="text-align:left;padding: 0 1em" | 乗算(*)
| rowspan=3 style="text-align:center;padding: 0 1em" | 左から右へ || ... * ...
| style="text-align: center ;padding: 0 1em" | ... * ...
|-
| style="text-align:left;padding: 0 1em" | 除算(/)
| 除算(/) || ... / ...
| style="text-align: center ;padding: 0 1em" | ... / ...
|-
| style="text-align:left;padding: 0 1em" | 剰余(%)
| 剰余(%) || ... % ...
| style="text-align: center ;padding: 0 1em" | ... % ...
|-
! rowspan=2 | 14
| style="text-align:left;padding: 0 1em" | 加算(+)
| rowspan=2 style="text-align:center;padding: 0 1em" | 左から右へ || ... + ...
| style="text-align: center ;padding: 0 1em" | ... + ...
|-
| style="text-align:left;padding: 0 1em" | 減算(-)
| 減算(-) || ... - ...
| style="text-align: center ;padding: 0 1em" | ... - ...
|-
! rowspan=3 | 13
| style="text-align:left;padding: 0 1em" | 左シフト(<<)
| rowspan=3 style="text-align:center;padding: 0 1em" | 左から右へ || ... << ...
| style="text-align: center ;padding: 0 1em" | ... << ...
|-
| style="text-align:left;padding: 0 1em" | 右シフト (>>) ||... >> ...
| style="text-align: center ;padding: 0 1em" | ... >> ...
|-
| style="text-align:left;padding: 0 1em" | 符号なし右シフト (>>>) || ... >>> ...
| style="text-align: center ;padding: 0 1em" | ... >>> ...
|-
! rowspan=6 | 12
| style="text-align:left;padding: 0 1em" | 小さい (<)
| rowspan=6 style="text-align:center;padding: 0 1em" |左から右へ || ... < ...
| style="text-align: center ;padding: 0 1em" | ... < ...
|-
| style="text-align:left;padding: 0 1em" | 小さいか同じ (<=) || ... <= ...
| style="text-align: center ;padding: 0 1em" | ... <= ...
|-
| style="text-align:left;padding: 0 1em" | 大きい (>) || ... > ...
| style="text-align: center ;padding: 0 1em" | ... > ...
|-
| style="text-align:left;padding: 0 1em" | 大きいか同じ (>=) || ... >= ...
| style="text-align: center ;padding: 0 1em" | ... >= ...
|-
| style="text-align:left;padding: 0 1em" | in
| in || ... in ...
| style="text-align: center ;padding: 0 1em" | ... in ...
|-
| instanceofstyle="text-align:left;padding: 0 1em" || ... instanceof ...
| style="text-align: center ;padding: 0 1em" | ... instanceof ...
|-
! rowspan=4 | 11
| style="text-align:left;padding: 0 1em" | 等式(==)
| rowspan=4 style="text-align:center;padding: 0 1em" | 左から右へ || ... == ...
| style="text-align: center ;padding: 0 1em" | ... == ...
|-
| style="text-align:left;padding: 0 1em" | 不等式(!=) || ... != ...
| style="text-align: center ;padding: 0 1em" | ... != ...
|-
| style="text-align:left;padding: 0 1em" | 厳密な等式(===) || ... === ...
| style="text-align: center ;padding: 0 1em" | ... === ...
|-
| style="text-align:left;padding: 0 1em" | 厳密な不等式(!==) || ... !== ...
| style="text-align: center ;padding: 0 1em" | ... !== ...
|-
! rowspan=1 | 10
| style="text-align:left;padding: 0 1em" | ビット単位の論理積(&) || 左から右へ || ... & ...
| style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align: center ;padding: 0 1em" | ... & ...
|-
! rowspan=1 | 9
| style="text-align:left;padding: 0 1em" | ビット単位の排他的論理和(^) || 左から右へ || ... ^ ...
| style="text-align:center;padding: 0 1em"| 左から右へ
| style="text-align: center ;padding: 0 1em" | ... ^ ...
|-
! rowspan=1 | 8
| style="text-align:left;padding: 0 1em" | ビット単位の論理和(<nowiki>|</nowiki>) || 左から右へ || ... <nowiki>|</nowiki> ...
| style="text-align:center;padding: 0 1em"| 左から右へ
| style="text-align: center ;padding: 0 1em" | ... <nowiki>|</nowiki> ...
|-
! rowspan=1 | 7
| style="text-align:left;padding: 0 1em" | 論理積(&&)
| 論理積(&&) || 左から右へ || ... && ...
| style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align: center ;padding: 0 1em" | ... && ...
|-
! rowspan=1 | 6
| style="text-align:left;padding: 0 1em" | 論理和(<nowiki>||</nowiki>) || 左から右へ || ... <nowiki>||</nowiki> ...
| style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align: center ;padding: 0 1em" | ... <nowiki>||</nowiki> ...
|-
! rowspan=1 | 5
| style="text-align:left;padding: 0 1em" | Null合体
| Null合体 || 左から右へ || ... ?? ...
| style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align: center ;padding: 0 1em" | ... ?? ...
|-
! rowspan=1 | 4
| style="text-align:left;padding: 0 1em" | 条件演算子(?:) || 右から左へ || ... ? ... : ...
| style="text-align:center;padding: 0 1em" | 右から左へ
| style="text-align: center ;padding: 0 1em" | ... ? ... : ...
|-
! rowspan=16 | 3
| rowspan=16 style="text-align:left;padding: 0 1em" | 代入演算子
| rowspan=16 style="text-align:center;padding: 0 1em" | 右から左へ
| style="text-align: center ;padding: 0 1em" | … = …
| … = …
|-
| style="text-align: center ;padding: 0 1em" | … += …
|… += …
|-
| style="text-align: center ;padding: 0 1em" | … -= …
|… -= …
|-
| style="text-align: center ;padding: 0 1em" | … **= …
|-
| style="text-align: center ;padding: 0 1em" | … *= …
|… *= …
|-
| style="text-align: center ;padding: 0 1em" | … /= …
|… /= …
|-
| style="text-align: center ;padding: 0 1em" | … %= …
|… %= …
|-
| style="text-align: center ;padding: 0 1em" | … <<= …
|-
| style="text-align: center ;padding: 0 1em" | … >>= …
|-
| style="text-align: center ;padding: 0 1em" | … >>>= …
|-
| style="text-align: center ;padding: 0 1em" | … &= …
|… &= …
|-
| style="text-align: center ;padding: 0 1em" | … ^= …
|… ^= …
|-
| style="text-align: center ;padding: 0 1em" | … <nowiki>|</nowiki>= …
|-
| style="text-align: center ;padding: 0 1em" | … &&= …
|-
| style="text-align: center ;padding: 0 1em" | … <nowiki>||</nowiki>= …
|-
| style="text-align: center ;padding: 0 1em" | … ??= …
|-
! rowspan=2 | 2
| style="text-align:left;padding: 0 1em" | yield
| yield
| rowspan=2 style="text-align:center;padding: 0 1em" |右から左
| style="text-align: center ;padding: 0 1em" | yield …
| yield …
|-
| style="text-align:left;padding: 0 1em" | yield*
| yield* || yield* …
| style="text-align: center ;padding: 0 1em" | yield* …
|-
! rowspan=1 | 1
| style="text-align:left;padding: 0 1em" | カンマ演算子 || 左から右へ || ... , ...
| style="text-align:center;padding: 0 1em" | 左から右へ
| style="text-align: center ;padding: 0 1em" | ... , ...
|}