1. 乗算演算子
1. 乗算: *
乗算演算子のいくつかの特別なルール:
オペランドが両方とも数値の場合、積が ECMAscript の数値表現の範囲を超える場合は、従来の乗算に従って計算され、infinity または -infinity が返されます。
オペランドの 1 つが NaN の場合、戻り結果は NaN
になります。
無限大に 0 を掛けると、NaN
が返されます。
無限大にゼロ以外の数値を乗算した場合は、無限大または -infinity
を返します。
無限大と無限大を乗算して無限大を返します
オペランドの 1 つが数値ではない場合、バックグラウンドはまずnumber() を呼び出して数値に変換し、次に上記のルールを適用します
除算演算子のいくつかの特別なルール:
オペランドがすべて数値の場合、商が ECMAscript の数値表現の範囲を超える場合は、infinity または -infinity が返されます。
オペランドの 1 つが NaN の場合、戻り結果は NaN になります。
無限大を無限大で割ると NaN
が返されます。
0 を 0 で割った場合、NaN
を返します。
ゼロ以外の有限数を 0 で割った場合、infinity または -infinity
を返します。
無限大をゼロ以外の有限数で割った場合、無限大または -infinity
を返します。
オペランドの 1 つが数値ではない場合、バックグラウンドはまずnumber() を呼び出して数値に変換し、次に上記のルールを適用します
になります。 被除数が有限で、除数が 0 の場合、NaN
が返されます。 無限大を無限大で割ると NaNが返されます。 被除数が有限で除数が無限の場合、被除数を返します
配当が0の場合は0を返します
オペランドの 1 つが数値ではない場合、バックグラウンドは最初にnumber() を呼び出して数値に変換し、次に上記のルールを適用します
コードをコピー
2. 加法演算子
1. 加算演算子:オペランドの 1 つが文字列の場合:
両方のオペランドが文字列の場合、2 番目のオペランドを最初のオペランドの末尾に連結します。
1 つのオペランドのみが文字列の場合、もう 1 つのオペランドを文字列に変換してから、上記のルールを実行します
オペランドの 1 つが文字列、ブール値、null、または未定義の場合、最初にバックグラウンドでnumber() が呼び出されて数値に変換され、その後減算が実行されます。
3. 関係演算子
次より大きい:>
未満:
以上:>=
以下: <=
関係演算子の特別ルール:
オペランドが文字列の場合、2 つの文字列の対応する文字エンコーディングを比較します
一方のオペランドが数値の場合、もう一方のオペランドを数値に変換してから比較します
任意の数値を NaN と比較すると、結果は false になります
4.
等価演算子
1. 平等と不平等: == そして! =両方の演算子は比較前にオペランドを同じ型に変換します
変換する場合、等価演算子と不等号演算子は次の規則に従います:
オペランドの 1 つがブール型の場合、まず数値型に変換され、false は 0 に変換され、true は 1 に変換されます。
オペランドの一方が文字列で、もう一方が数値の場合、文字列は比較のために数値に変換されます。
オペランドの 1 つがオブジェクトで、もう 1 つがオブジェクトではない場合、最初にオペランドの valueof() メソッドが呼び出され、次に基本型の値が取得されて比較されます
比較する際の特別なルール:
null と unknown は他の型に変換されません
いずれかの演算の結果が NaN の場合、等価比較は false を返し、不等比較は true を返します。両方のオペランドが NaN であっても、戻り結果は false のままであることに注意してください。つまり、NaN は NaN と等しくありません。
両方のオペランドがオブジェクトの場合、それらが参照する値が比較され、同じオブジェクトを参照している場合は true を返し、それ以外の場合は false を返します。
2. 一致するものと一致しないもの: == と ===
=== は型を変換せず、直接比較します
例:
変数 = 条件式?真の値: 偽の値 まず条件式が評価され、結果が true の場合は true の値が変数に代入され、false の場合は false の値が変数に代入されます。
コードをコピー
6. 代入演算子
1. 単純な代入演算子: =
var num1 = 10;
num=num1 10;
2. 複合代入演算子: =、-=、*=、/=、%=、>>=、<<=、>>>=
7. カンマ演算子
カンマ演算子は 1 つのステートメントで複数の操作を実行できます目的: 1. 複数の変数を宣言します
var num1=1、num2=2、num3=3; 2. 課題
var num=(0,1,2,3)//num=3
練習エリア: