mozilla
Your Search Results

    演算子の優先順位

    概要

    演算子の優先順位は、演算子が評価される順番を決定します。より高い優先順位の演算子は最初に評価されます。

    よくある例:

    3 + 4 * 5 // 23 を返す
    

    乗算演算子 ("*") は加算演算子 ("+") より高い優先順位を持つので、最初に評価されます。

    結合性

    結合性は、同じ優先順位の演算子を処理する順番を決定します。例えば、次のような式を考えてみましょう。

    a OP b OP c
    

    左結合性 (左から右) とはこれを (a OP b) OP c というように処理するという意味であり、対して右結合性 (右から左) はこれを a OP (b OP c) というように解釈するという意味です。代入演算子は右結合性なので、あなたは、

    a = b = 5;
    

    と書くことで、ab が値 5 を得るという期待通りの結果を得ることができます。これは代入演算子が代入した値を返すためです。まず b に 5 がセットされます。そして ab の値がセットされるのです。

    以下の表は優先順位の最も高いもの (1) から最も低いもの (18) の順に並べられています。

    優先順位 演算子の種類 結合性 各演算子
    1 メンバ 左から右 .
    []
    new 右から左 new
    2 FIXME: 関数呼び出し 左から右 ()
    3 インクリメント n/a ++
    デクリメント n/a --
    4 論理 NOT 右から左 !
    ビットごとの NOT 右から左 ~
    単項の + 右から左 +
    符号反転 右から左 -
    typeof 右から左 typeof
    void 右から左 void
    delete 右から左 delete
    5 乗算 左から右 *
    除算 左から右 /
    モジュロ(剰余) 左から右 %
    6 加算 左から右 +
    減算 左から右 -
    7 ビットシフト 左から右 <<
    >>
    >>>
    8 大小関係 左から右 <
    <=
    >
    >=
    in 左から右 in
    instanceof 左から右 instanceof
    9 同値関係 左から右 ==
    !=
    ===
    !==
    10 ビットごとの AND 左から右 &
    11 ビットごとの XOR 左から右 ^
    12 ビットごとの OR 左から右 |
    13 論理 AND 左から右 &&
    14 論理 OR 左から右 ||
    15 条件 右から左 ?:
    16 yield 右から左 yield
    17 代入 右から左 =
    +=
    -=
    *=
    /=
    %=
    <<=
    >>=
    >>>=
    &=
    ^=
    |=
    18 カンマ 左から右 ,

    ドキュメントのタグと貢献者

    Contributors to this page: Potappo, teoli, yyss, ethertank
    最終更新者: teoli,
    サイドバーを隠す