JSにおける合同と不等式、等式と不等式の問題について

JSにおける合同と不等式、等式と不等式の問題について

一致と不一致

シンボルの両側のオペランドの比較は、演算子と同じです。たとえば、オペランドが等しい場合は true を返し、そうでない場合は false を返します。等価演算子と不等価演算子は、等価性を比較するときにオペランドを変換しません。つまり、変換せずに等価性または不等性を直接比較します。

一致する

記号: ===

str1="1" とします
str2=1とする
console.log(str1===str2) //偽

すべてが平等ではない

シンボル:! ==

str1="1" とします
str2=1とする
console.log(str1!==str2) //true

平等と不平等

等価演算子と不等価演算子も 2 つのオペランドを比較します。たとえば、等価演算子は 2 つのオペランドが等しい場合は true を返し、そうでない場合は false を返します。ただし、等価演算子と不等価演算子の違いは、等価演算子と不等価演算子は最初にオペランドに対して強制的な型変換を実行し、次に変換されたオペランドを比較することです。

等しい

記号: ==

str1="1" とします
str2=1とする
console.log(str1==str2) //true
console.log(str1===str2) //偽
フラグをtrueにする
num=1とする
console.log(フラグ==数値) //true
console.log(フラグ===数値) //false

等しくない

シンボル:! =

str1="1" とします
str2=1とする
str3="hello" とします
console.log(str1!=str2) //false 最初に型変換を行い、次に比較を行います。 console.log(str1!==str2) //true 等価演算の場合、強制型変換を行わないと、2 つのオペランドは必ずしも等しくなりません。	
console.log(str2!=str3) //true	  
console.log(str2!==str3) //true

等価演算子と不等価演算子のオペランドの型変換の規則は次のとおりです。

ブール値は比較のために数値に直接変換されます:false:0、true:1

文字列が数値に遭遇すると、数値に変換されて比較されます。

オブジェクトの場合、両方のオペランドがオブジェクトであれば、それらが同じオブジェクトであるかどうかを比較します。 2 つのオペランドが同じオブジェクトを参照している場合は true を返し、そうでない場合は false を返します。オペランドの1つがオブジェクトの場合、valueOfメソッドが呼び出されて元の値が取得され、比較が実行されます(上記のルールに従って)。

const p = new Object('zhangsan') // const p = new String('zhangsan') と同等
console.log(p.valueOf() == 'zhangsan') //true
console.log(p == 'zhangsan') //true
const p1={name:'zhangsan'}
p2=p1とする
console.log(p1==p2) //true
p2 = {}
console.log(p1==p2) //偽

null と undefined の場合、null と undefined は等しいですが、誰と比較しても強制変換されることはありません。

console.log(null==未定義) //true
console.log(null===undefined) //false すべてが等しい場合、返される結果は依然としてfalseです

NaN の場合、NaN はそれ自身を含むどの値とも等しくありません。 NaN である演算子を含む比較では、等しい場合は false が返され、等しくない場合は true が返されます。

console.log(NaN==NaN) //偽
console.log(NaN!='') //true
console.log(NaN!=1) //true
console.log(NaN!={}) //true

これで、JS における合同と不等式、等式と不等式に関するこの記事は終わりです。合同と不等式、等式と不等式に関するより関連性の高い JS コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Javascript における = = (等しい) と = = = (完全に等しい) の違いを簡単に説明してください
  • js イベント処理関数間のイベント オブジェクトは同一ですか?
  • JavaScript における等号 (==) と合同 (===) の違い
  • JavaScript 等価演算子の使用手順
  • JavaScript で 0.1+0.2 が 0.3 と等しくない問題を解く
  • JavaScript で「等しくない」を表すコードは何ですか?

<<:  MySQL 8.0 で列を素早く追加する方法

>>:  FileZilla を使用して FTP サーバーに接続するプロセスの図

ブログ    

推薦する

LeetCode の SQL 実装 (183. 注文をしたことがない顧客)

[LeetCode] 183.注文しない顧客Web サイトに、Customers テーブルと Or...

CSS3 で実装された画像ホバートグルボタン

結果:実装コードhtml <ul class="スライド"> <...

Ubuntu環境でのPHP関連のパスと変更方法

Ubuntu環境におけるPHP関連パスPHP パス /usr/bin/php phpize5 /us...

MySQLでconcat関数を使用する方法

以下のように表示されます。 //managefee_managefee テーブルの年と月を照会し、c...

Linux における「!」の知られざる使用法のまとめ

序文実際、Linux では、控えめな「!」が驚くほど多くの用途で使用されています。この記事では、「!...

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

SQL実行ステップの詳細な分析

SQL実行ステップの詳細な分析まず、ステートメントが実行される順序を見てみましょう。 (8)選択する...

マウスのドラッグ効果を実現するJavaScript

この記事では、マウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL IN ステートメントにおける低速クエリの効率を最適化する手法の例

表の構造は以下のとおりです。記事数は690件のみです。 記事テーブル article(id,titl...

Vueのカスタムディレクティブの詳細なガイド

目次1. カスタム指示とは何ですか? 2. 指示をカスタマイズする方法フック機能3. 応用シナリオ入...

JavaScript Promise の徹底解説

目次1. Promise とは何ですか? 2. なぜ Promise が存在するのでしょうか? 3つ...

MySql でリモート接続を許可する方法

MySql でリモート接続を許可する方法この目標を達成するには、2つのことを行う必要がある。ユーザー...

Nginx で何ができるかの包括的な分析

序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...

docker イメージのプル速度が遅い問題の解決策

現在、Docker には中国向けの公式ミラーがあります。詳細については、https://www.do...

Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明

Mac で開発されたプロジェクトがあり、パッケージ npm i がインストールされており、すべて正常...