JavaScript の演算子は、テーブル式、比較式、論理式、代入式などに使用されます。
ほとんどの演算子は、キーワードであるかどうかにかかわらず、句読点で表されることに注意してください。それらが表す演算子はすべて通常の演算子であり、その構文は非常に簡潔かつ包括的です。
添え字演算子の優先順位によって並べ替えられ、前の演算子の優先順位が後の演算子の優先順位よりも高くなります。水平方向のスカラーで区切られた演算子は異なる優先順位を持ちます。
A は演算子の結合性を表します。
L は左から右へ、または R (右から左へ)
見出し N のリストはオペランドの数を表します。
Type は、期待されるオペランドのタイプと、演算子の結果のタイプ (「→」記号の後) を示します。
i. オペランドの数
演算子は、オペランドの数によって分類できます。
JavaScript のほとんどの演算子は二項演算子であり、2 つの式を結合して少し複雑な式を作成します。
JavaScript は、ある式を別の少し複雑な式に変換するいくつかの単項演算子もサポートしています。式 -x の「-」演算子は単項演算子です。 x の負の値を取ることです。
JavaScript は、3 つの式を 1 つの式に結合する条件演算子「?:」をサポートしています
ii. オペランドの型と結果の型
一部の演算子は、任意のデータ型に使用できますが、それでも演算する必要があります。指定されたタイプのデータ。
iii. lvalue
テーブル内の代入演算子と他のいくつかの演算子は、オペランドが lval 型であることを期待します。lvalue は古い用語です。これは、「式は代入演算子の左側にのみ使用できる」ことを意味します。 JavaScript では、変数、オブジェクトのプロパティ、および配列要素はすべて左辺値です。 ECMAScript 仕様では、スコープ付き組み込み関数が左辺値を返すことを許可していますが、定義された関数は左辺値を返すことができません。
iiii.演算子の優先順位
上の表では、示されている演算子は優先順位の高い順に並べられており、各水平分割線内の演算子のグループは同じ優先順位を持ちます。演算子の優先順位は、演算子の実行順序を制御します。優先順位の高い演算子 (表の一番上) は常に、優先順位の低い演算子 (表の一番下) よりも前に実行されます。
次の式を見てください
w=x+y*z;
乗算演算子「*」は加算「+」よりも優先度が高いため、乗算が最初に実行されます。次に、代入演算子「=」の優先順位が最も低くなります。したがって、代入演算は、右辺の式が評価された後に実行されます。
演算子の優先順位は括弧を使用して記述できます。上の式は次のように書くことができます。
w = (x + y) * z;
属性アクセス式と呼び出し式の優先順位は、テーブル内のすべての演算子よりも高いことに注意してください。
typeof my.Function[x](y)
typeof は最も優先順位の高い演算子の 1 つですが、typeof は 2 つのプロパティ アクセスと関数呼び出しの後にも実行されます。
実際、使用している演算子の優先順位がよくわからない場合、最も簡単な方法は、括弧を使用して演算の順序を強制することです。覚えておくべき重要なルールがいくつかあります。乗算と除算は加算と減算よりも優先され、代入演算の優先順位は非常に低く、通常は最後に実行されます。
iiiiii. 演算子の結合性
このセクションの表で、A というタイトルの列は演算子のノジュレーションを示しています。 L は左から右へ結合することを意味し、R は右から左へ結合することを意味します。 Tuberculity は、複数の演算子式の演算の順序を同じ優先順位で指定します。
たとえば、減算演算は左から右に連想的に実行されます。
w = x - y - z
は次のコードと同じです:
w = ((x - y) - z)
逆に、次の式:
x = ~-y; w = x = y = z; q=a?b:c?d:e?f:g;
はこのコード
x=~(-y); w=(x=(y=z)); q=a?b:(c?d:(e?f:g))
とまったく同じです。これは、単項演算子、代入、および 3 項条件演算子のすべてが右から左であるためです。組み合わせ。
iiiiiii. 演算の順序
演算子の優先順位と結合性は、代入演算式での演算の順序を指定しますが、リテラル式の計算中の演算の順序は指定しません。 JavaScript は常に左から右に厳密に式を計算します。例:
式 w=x+y*z では、最初に式 w が計算され、次に x、y、z、そして y の値が乗算されます。 z に x の値が加算されます。最後に、式 w が指す変数または属性。式に括弧を追加すると、乗算、加算、代入演算の間の関係が変わります。ただし、左から右への順序は変わりません。
以上がJavaScript基礎講座で演算子の定義と使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。