JavaScript における演算子の優先順位は一連のルールです。このルールは、式を評価するときに演算子が実行される順序を制御します。優先順位の高い演算子は、優先順位の低い演算子よりも前に実行されます。たとえば、乗算は加算の前に実行されます。
次の表は、JavaScript 演算子を優先順位の高いものから低いものまでリストしています。同じ優先順位を持つ演算子は左から右に評価されます。
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
-- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义值 |
* / % | 乘法、除法、取模 |
- | 加法、减法、字符串连接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于等于、大于、大于等于、instanceof |
== != === !== | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 条件 |
= oP= | 赋值、运算赋值 |
, | 多重求值 |
括弧を使用すると、演算子の優先順位によって決定される評価の順序を変更できます。これは、括弧で囲まれた式が式の残りの部分で使用される前にすべて評価される必要があることを意味します。
この式には、=、*、()、およびもう 1 つの 5 つの演算子があります。演算子の優先順位の規則に従って、演算子は ()、 、 、 *、 = の順序で評価されます。
括弧内の式が最初に評価されます。括弧内には 2 つの加算演算子があります。どちらの加算演算子も同じ優先順位を持つため、左から右に評価されます。まず 96 と 3 を足し、その合計を 45 に足すと 144 になります。
次に乗算演算が始まります。 78 掛ける 144 で 11232 になります。
Aは最後の代入演算です。 11232をzに代入します。
=== 演算子: 2 つの値の型が異なる場合は false を返します。両方の値が数値型で同じ値を持つ場合は、両方の値が文字列の場合は true を返します。 2 つの値が同じ場合、true を返します。両方の値が true または両方とも false の場合、true を返します。両方の値が同じオブジェクト、Arraya、または関数を指している場合、true を返します。両方の値が null または両方の場合、true を返します。未定義、true を返す == 演算 シンボル: 2 つの値が同じ型を持つ場合、=== 比較が実行され、2 つの値が同じでない場合は === の比較値が返されます。一方の値が null で、もう一方の値が未定義の場合、true を返すこともできます。一方の値が文字列で、もう一方の値が数値である場合は、文字列が数値に変換されて比較されます。値が true の場合は 1 に変換され、値が true の場合は 0 に変換されます。一方の値がオブジェクトで、もう一方の値が数値または文字列の場合、オブジェクトは に変換されます。 valueOf() または toString() を使用して元の型を比較し、
詳細なソース参照: http://www.jb51.net/article/17542.htm