Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
快速查看JavaScript运算符优先级与结合性,避免运算逻辑错误
小さい数字ほど優先順位が高い構文の参考表です。?? は || と同段階ですが、||/&& と混ぜる場合は括弧が必要です。文法上の制限も確認してください。 出典
( )グループ化結合性なし括弧で式を囲み、結合順序を指定します。
(a + b) * c.メンバーアクセスと呼び出し左結合フィールド、属性、メソッドなどを名前で参照します。
user.name[]メンバーアクセスと呼び出し左結合式の結果をプロパティ名として使います。
items[index]?.メンバーアクセスと呼び出し左結合nullまたはundefinedの参照で後続のアクセスを中止し、undefinedを返します。
user.profile?.email()メンバーアクセスと呼び出し左結合関数または呼び出し可能な値を、引数を指定して呼び出します。
format(value)new ...()メンバーアクセスと呼び出し左結合newでオブジェクトを生成します。引数や括弧の構文は言語の規則に従います。
new Date(2026, 0, 1)newオブジェクト生成右結合newでオブジェクトを生成します。引数や括弧の構文は言語の規則に従います。
new Datex++後置演算結合性なし更新前の値を式で使い、その後1増やします。
count++x--後置演算結合性なし更新前の値を式で使い、その後1減らします。
count--++x単項演算右結合先に1増やし、更新した値を式で使います。
++count--x単項演算右結合先に1減らし、更新した値を式で使います。
--count!単項演算右結合真偽の判定を反転します。
!isReady~単項演算右結合各ビットを反転します。整数の幅や対応する型は言語に依存します。
~mask+x単項演算右結合単項のプラス演算です。型変換や型の昇格は言語によって異なります。
+inputValue-x単項演算右結合値の符号を反転します。
-pricetypeof単項演算右結合typeofで値の型の分類を取得します。
typeof valuevoid単項演算右結合式を評価し、undefinedを返します。
void fn()delete単項演算右結合JavaScriptのdeleteです。削除可能性はプロパティの設定などに依存します。
delete user.tempawait単項演算右結合非同期処理の完了を待ちます。エラーやキャンセルの規則は言語に依存します。
await fetchData()**べき乗演算右結合左の値の右の値乗を求めます。
2 ** 3 ** 2*乗除算・剰余左結合左右の値を掛け合わせます。
width * height/乗除算・剰余左結合左の値を右の値で割ります。整数の丸め方は言語と型に依存します。
total / count%乗除算・剰余左結合除算の余りです。負数の結果や対応する型は言語の規則を確認してください。
index % 2+加減算・連結左結合数値の加算、または文字列の連結です。型と変換規則を確認してください。
firstName + lastName-加減算・連結左結合右の値を左の値から引きます。
end - start<<ビットシフト左結合ビットを指定数だけ左に移動します。負の移動量や幅を超える移動の規則を確認してください。
1 << bit>>ビットシフト左結合ビットを右に移動します。符号拡張などの動作は言語と型に依存します。
value >> 1>>>ビットシフト左結合右へ移動し、左の空いたビットを0で埋めます。
value >>> 1<比較演算左結合左辺が右辺より小さいか比較します。
age < 18<=比較演算左結合左辺が右辺以下か比較します。
score <= 100>比較演算左結合左辺が右辺より大きいか比較します。
price > limit>=比較演算左結合左辺が右辺以上か比較します。
count >= minin比較演算左結合JavaScriptのinでプロパティが存在するか調べます。継承したプロパティも対象です。
"name" in userinstanceof比較演算左結合指定した型などとのインスタンス関係を判定します。言語の詳細規則を確認してください。
value instanceof Date==等価演算左結合型変換の規則に従って左右を比較します。厳密な比較とは結果が異なる場合があります。
value == null!=等価演算左結合型変換後の等価性を満たさないか比較します。
value != 0===等価演算左結合型変換を伴わない等価性の比較です。オブジェクトの扱いは言語の規則に従います。
status === "ok"!==等価演算左結合厳密な等価性を満たさないか比較します。
status !== "ok"&ビット演算左結合対応するビットが両方1の場合に1となります。
flags & enabled^ビット演算左結合対応するビットが異なる場合に1となります。
flags ^ mask|ビット演算左結合対応するビットの少なくとも一方が1の場合に1となります。
flags | selected&&論理演算左結合左辺が偽と判定される場合は右辺を評価しません。戻り値の型は言語に依存します。
user && user.name||論理演算左結合左辺が真と判定される場合は右辺を評価しません。戻り値の型は言語に依存します。
name || "匿名"??Null合体左結合左辺が言語で指定されたnull相当の場合に右辺を選びます。JavaScriptではundefinedも対象です。
count ?? 0?:条件演算右結合条件に応じて二つの式の一方を選びます。
score >= 60 ? "通过" : "未通过"=代入と関数右結合右辺の値を左辺に代入します。式として使えるかは言語に依存します。
total = 0+=代入と関数右結合加算した結果を左辺に書き戻します。
total += price-=代入と関数右結合減算した結果を左辺に書き戻します。
count -= 1*=代入と関数右結合乗算した結果を左辺に書き戻します。
size *= 2/=代入と関数右結合除算した結果を左辺に書き戻します。
size /= 2%=代入と関数右結合剰余の結果を左辺に書き戻します。
index %= length**=代入と関数右結合累乗の結果を左辺に書き戻します。
value **= 2<<=代入と関数右結合左シフトの結果を左辺に書き戻します。
mask <<= 1>>=代入と関数右結合右シフトの結果を左辺に書き戻します。
mask >>= 1>>>=代入と関数右結合0で埋める右シフトの結果を左辺に書き戻します。
mask >>>= 1&=代入と関数右結合ビットANDの結果を左辺に書き戻します。
flags &= mask^=代入と関数右結合ビットXORの結果を左辺に書き戻します。
flags ^= mask|=代入と関数右結合ビットORの結果を左辺に書き戻します。
flags |= mask&&=代入と関数右結合左辺が真相当の場合に限り右辺を評価して代入します。
enabled &&= isAdmin||=代入と関数右結合左辺が偽相当の場合に限り右辺を評価して代入します。
title ||= "未命名"??=代入と関数右結合左辺がnull相当の場合に限り右辺を評価して代入します。
options.timeout ??= 3000=>代入と関数右結合引数と処理内容から関数を定義します。捕捉する変数や本体の制限は言語に依存します。
(x) => x * 2yield代入と関数右結合yieldで値、または言語が対応するキーと値を提供します。
yield valueyield*代入と関数右結合別のイテラブルなどに値の生成を委ねます。
yield* list,カンマ演算左結合式を順に評価します。引数や初期化子を区切るコンマとは区別します。
(x += 1, x * 2)概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
このページは、JavaScript の演算子を調べるための検索可能な参照表です。たとえば ??、typeof、または「短絡」といった語で候補を絞り、項目ごとの日本語名、カテゴリ、結合性、説明、コード例を確認できます。キーワードには記号、名前、説明、例に含まれる文字列のほか、表に表示されるローカル番号も使えます。カテゴリと結合性を組み合わせて探すこともできます。
「優先順位」は、演算子が混在する式をどのようなまとまりとして読むかを示す目安です。「結合性」は、同じ優先順位の演算子が続く場合のまとまり方を表します。たとえば乗算は加算より先にまとまるため、a + b * c は a + (b * c) と読みます。右結合の代入では、a = b = 5 は a = (b = 5) の形です。ここでいう結合性は、コード中の値が実際に評価される順序そのものではありません。
本表の番号は独自の表示番号で、小さい数字ほど優先順位が高い並びです。番号を仕様書や別の一覧にある数値とそのまま比較せず、演算子の組み合わせや構文を確認するときの索引として使ってください。
優先順位と結合性は、式の構文上のグループ化を読み解く助けになります。ECMAScript の仕様には、表の順位だけでは表せないオペランドの制約や演算子の組み合わせ規則も定められています。MDN の日本語リファレンスは、グループ化と結合性を例とともに説明しています。必要に応じて以下の資料で確認してください。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
記号(例:??)、名前(例:typeof)、説明やコード例の語句、画面に表示される優先度番号を入力します。入力に合わせて一致する項目が絞り込まれます。
乗除算、比較、代入などのカテゴリと、左結合・右結合・結合性なしを指定できます。両方を選ぶと、条件に合う項目だけが残ります。全件に戻すには、それぞれ「すべて」を選びます。
結果の件数を見てから、各項目の名前、説明、結合性、例を確認します。記号または例は個別にコピーできます。例を自分のコードに使う際は、変数や構文が目的に合うか確かめてください。
一致する項目がない場合は、検索語を短くするか、カテゴリと結合性の絞り込みを解除して再検索します。番号で探す場合も、この表内の表示番号を検索してください。
活用例
仕事や日常の流れの中での活用方法を紹介します。
式に見慣れない記号が出てきたら、記号や関連語で項目を検索します。優先順位と結合性を手がかりに、自分で括弧を補った形を書き、式の構造を整理できます。
チーム内で ?? や論理演算子の動きを話し合う際、該当項目の説明と例を参照できます。実際のコードで何が返るか、どの枝が実行されるかは、その式をテストして確かめます。
演算子の優先順位を確認した後でも、意図が一目で伝わりにくい式には括弧を加えると読みやすくなります。表は構文の確認に使い、最終的な書き方はプロジェクトの規約や周囲のコードに合わせます。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
いいえ。入力欄は演算子の参照項目を検索するもので、式の構文解析やコードの実行はしません。実行結果を知りたい場合は、対象の JavaScript 環境で確認してください。
このページは小さい番号ほど高い独自の表示番号を使っています。MDN の一覧は別の番号体系です。番号だけで照合せず、演算子の位置や構文上の関係を資料で確認してください。
?? と || や && は括弧なしで混ぜられますか?混在させる式には括弧が必要です。表の同じ番号だけから構文の可否を判断せず、公式資料の規則を確認してください。
結合性は同じ優先順位の演算子を構文上どうグループ化するかを示します。オペランドが評価される順序や、短絡で実行されない部分があるかは別の規則です。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
このページの番号は収録項目を探すためのローカルな目安です。JavaScript の標準が定める数値として扱ったり、他の資料の番号と直接比較したりしないでください。また、優先順位・結合性の表だけでは、文法上許される式をすべて判定できません。
特に ?? は || と同じ優先順位として扱われますが、|| または && と括弧なしで混在できません。表のローカル分類が構文制約を完全に表しているとは限らないため、該当する組み合わせは ECMAScript 仕様で確認してください。
収録されたコード例は実行検証済みのテストではありません。この参照表は式を実行せず、完全な式の解析、結果の計算、型ごとの挙動確認も行いません。型変換、短絡評価、実際の戻り値や構文エラーが重要な場合は、仕様と対象環境で確認し、意図を明確にする括弧を使ってください。
関連
関連ツール、特集、利用可能なAPIを探せます。