1. 論理否定 論理否定は使用されません。 ECMAScript の任意のタイプの値に適用できることを示します。論理 NOT 演算はブール値 (true/false) を返します。この演算子は、まずオペランドをブール値に変換してから、それを否定します。
以下では、Boolean() 変換関数の一連のルールについて説明します。
数据类型 |
转换为true的值 |
转换为false的值 |
Boolean |
true |
false |
String |
任何非空字符串 |
""(空字符串) |
Number |
任何非零数字值(包括无穷大) |
0和NaN |
Object |
任何对象 |
null |
Undefined |
无 |
undefined |
データ型
|
true に変換された値
|
false に変換された値 |
ブール値 |
真 |
false
|
文字列 |
空でない任意の文字列 |
""(空の文字列)
|
番号 |
ゼロ以外の任意の数値 (無限大を含む) |
0 および NaN
|
オブジェクト |
任意のオブジェクト |
null
|
未定義 |
なし |
未定義
|
Boolean() 変換関数の単純な表現。 ----------! !
2. 論理 AND
4. 1 つの演算子が null の場合は null を返し、1 つの演算子が NaN の場合は NaN を返します。
論理 AND 演算は短絡演算です。つまり、最初のオペランドで結果を決定できる場合、2 番目のオペランドは評価されません。 (2 つの内部戻り操作として理解できます)。したがって、ルール 4、5、および 6 が矛盾する場合は、短絡動作原則に従う必要があります。
コードをコピーします
コードをコピーします
コードは次のとおりです。
var nul = null;
var na = NaN; test;
test = null&&na;
document.write(test); //null
コードをコピー
コードは次のとおりです:
// 疑似コード
関数 &&(param1,param2){
bparam1 = Boolean(param1);
if (!bparam1) return param2 = Boolean(param2);
// パラメータがオブジェクトの場合に戻ります。参照されるポインタ値、関数は
3 と同じです。 論理和
論理和記号は 2 つの縦棒記号 (||) で表されます。 論理 OR 記号も短絡演算子です。実装プロセスは論理積の擬似コードを参照できます。一部のルールはここに記載されていません。 論理 OR は、evt = evt || などのパラメーターのデフォルトの処理によく使用されます。