jsであらゆる種類の基本演算子(算術演算子、関係演算子、論理演算子)を取得するための1つの記事

目次
1.算術演算子
2.関係演算子
3.論理演算子
4.演算子の優先順位

1つは算術演算子

  1. 一般的な算術演算子
    +:数学の加算演算と同等; 222 + 333 =
    555-
    数学の減算演算と同等; 666-333 = 333 :数学の乗算演算と同等; 333 2 = 666
    /:数学の除算演算と同等です; 666/333 = 2
    %:数学の残りの演算と同等です; 9%4 = 1
  2. 非数値タイプ(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
  1. 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 
  1. 特別な文字列の追加-データと文字列の追加操作はすべてスペル処理中です
		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つのリレーショナル演算子

  1. 一般的なリレーショナル演算子
    >、<、> =、<=、==(等しい)、!=(等しくない)、== =(合計が等しい)、!==(不完全など);リレーショナル操作の結果はブール値です値

  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

第四に、演算子の優先順位

  1. 単項演算子(++-!)>二項演算子>三項演算子
  2. バイナリ演算子の優先順位:算術演算子(/ *)(+-)>リレーショナル演算子(> <> = <=)>論理演算子(&& ||)

エラーがある場合は、お気軽に訂正してください。ご不明な点がございましたら、メッセージを残してご相談ください。

おすすめ

転載: blog.csdn.net/xiaozuo144/article/details/109691838