目次
1.算術演算子
2.関係演算子
3.論理演算子
4.演算子の優先順位
1つは算術演算子
- 一般的な算術演算子
+:数学の加算演算と同等; 222 + 333 =
555-
:数学の減算演算と同等; 666-333 = 333 :数学の乗算演算と同等; 333 2 = 666
/:数学の除算演算と同等です; 666/333 = 2
%:数学の残りの演算と同等です; 9%4 = 1 - 非数値タイプ(string / boolean / undefined / null)のデータに対して算術演算を実行する場合、計算前に(Number()関数を介して)暗黙的に数値に変換する必要があります。
console.log('5' - 3);//5-3=2
console.log('5' * '3');//5*3=15
console.log('30' / '5'); // 30/6=6
console.log(5 - true); //5-1=4
console.log(5 + false ); //5+0=5
console.log(false - true); //0-1=-1
console.log(null + false ); //0+0=0
console.log(null - 2); //0-2=-2
- NaN(Number()によってNaNに変換されたデータを含む)を他のデータと一緒に計算すると、結果は常にNaNと等しくなります(文字列への追加の結果を除く)。
console.log('哈哈' - 5); //NaN Number('哈哈') = NaN
console.log('5a' - 5); //NaN Number('5a') = NaN
console.log(5 - {
}); // NaN Number({}) = NaN
console.log(undefined %'2');//NaN Number(undefined) = NaN
console.log('vbb3.6d' * 2); //NaN Number('vbb3.6d') = NaN
console.log(NaN+2);//NaN
- 特別な文字列の追加-データと文字列の追加操作はすべてスペル処理中です
console.log('我是字符串呀'+10);//'我是字符串呀10'
console.log('5'+true +6);//'5true6'
console.log('5'-true +'6');// '5'-true = 4 ,4 和'6'拼串,'46'
console.log(undefined+'2');//'undefined2'
console.log(true+(null*2+'5')+undefined);// null*2 = 0, 'true05undefined'
2つのリレーショナル演算子
-
一般的なリレーショナル演算子
>、<、> =、<=、==(等しい)、!=(等しくない)、== =(合計が等しい)、!==(不完全など);リレーショナル操作の結果はブール値です値 -
リレーショナル操作はルールに従い
ます。a。数値は通常どおり比較されます
。b。非デジタルタイプは最初に数値に変換されてから比較され
ます。c。文字列を比較する場合、比較は桁数に従って実行されます。
console.log('5' > 3);//true 5>3
console.log('5' != 3);//true 5!=3
console.log(3 != 3);//false
console.log('3' != 3);//false
console.log('3' !== 3);//true
console.log(false > 0);//false 0>0
console.log(true > -1);//true0>-1
console.log(''>-1);//true 0>-1
console.log('5' > '4');//true
console.log('5a' > 3);//true
console.log(' ' > '');//true
console.log(' ' > 0);//false 0>0
console.log('5a' < '5b');//true
console.log('9a' < '3z');//false
d。デフォルトでは、NaNはそれ自体を含むどの値とも等しくありません。
e。デフォルトでは、nullとundefinedは互いに等しく、それ自体にも等しくなります。ただし、他の値と等しくない場合を除きます。
console.log(undefined > -1);//false
console.log(null > -1);//false
console.log(null == null);//false
console.log(null == 0);//false
console.log(null == false);//false
console.log(null == '');//false
console.log(null == undefined);//true
console.log(undefined == undefined);//true
console.log(undefined == 0);//false
console.log(undefined == false);//false
console.log(undefined == '');//false
console.log(NaN == NaN);//false
f。== 2つのデータの値が等しいことだけが必要です。
g。===完全に等しいには、2つのデータ値のサイズとデータタイプが等しい必要があります。
console.log('5' == 5);//true
console.log(5 == 5);//true
console.log('5' === 5);//false 数据类型不同
console.log('5' === '5');//true
3つの論理演算子(短絡式)
1.論理演算子の使用法の要約
&&(および):falseがある場合、それはtrueです。
||(または):trueがある場合、それはtrueであり、すべてfalseはfalse
です!(非):反転操作
2.練習
console.log(5 > 3 && 5 > 7);//false 有假即假
console.log(5 > 3 && 5 < 7);//true 都真才真
console.log(5 > 3 && 5 < 7 && 3 != 3);//false
console.log(5 > 3 || 5 > 7);//有真即真
console.log(5 < 3 || 5 < 7);//false
console.log(5 > 3 && 5 > 1);//true
console.log(true && true && true);//true
console.log(true && true);//true
console.log(false && false && true);//false
console.log(5 && 3);//3第一个值为真,返回第二个值
console.log(5 && 0);//0
console.log(0 && 5);//0 有假即假
console.log('haha' && -5 && '');// 前两个都是true,返回最后一个,空字符串,看不见
console.log('(*^__^*) 嘻嘻……' && ' ' && '小左同学');//'小左同学'
console.log('5aaa' > 6 && !'yellowgreen' && 0 - 5 * (3 + 1));//false 第一个值为假,有假即假
console.log(6 && !'yellowgreen' && 0 - 5 * (3 + 1));//false 第二个值为false,有假即假
console.log(6 && 'yellowgreen');//yellowgreen
console.log(!3);//false
console.log(6 && 'yellowgreen' && 0 - 5 * (3 + 1));//-20 算数运算的优先级高于逻辑运算,先算出结果-20,前两个值为真,返回第三个值-20
console.log(!(5 < 3) && !5 < 3 && !undefined && null+'5');// null5 前3个都为true,返回拼串
console.log(false || true || true);//true 有真即真
console.log(5 || 3);//5有真即真
console.log(!(5 < 3) || !5 < 3 || !undefined || null+'5');//true第一个值为真,有真即真不管后边
console.log(5 < 3 || !5 < 3 && !undefined || null+'5');//先算&&,结果为true,有真即真
console.log(5 && 3 || '哈哈' && 8);//3
console.log(5 && (3 || '哈哈') && 8);//8
console.log(0 || 5);//5
第四に、演算子の優先順位
- 単項演算子(++-!)>二項演算子>三項演算子
- バイナリ演算子の優先順位:算術演算子(/ *)(+-)>リレーショナル演算子(> <> = <=)>論理演算子(&& ||)
エラーがある場合は、お気軽に訂正してください。ご不明な点がございましたら、メッセージを残してご相談ください。