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 サーバーに接続するプロセスの図

推薦する

Pycharm2017はpython3.6とmysqlの接続を実現します

この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...

Linux での umask の使用に関する詳細な説明

私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...

順序再構築に関する簡単な説明: MySQL シャーディング

目次1. 目的2. 環境整備1. 基本情報2. データベース環境の準備3. データベースを構築し、サ...

SQLシリアル番号取得コード例

この記事は主にSQLシリアル番号取得コード例を紹介します。記事ではサンプルコードを詳細に紹介しており...

HTML の POST リクエストにおける a タグの 2 つの使用法の分析

HTML POST リクエストで a タグを使用する 2 つの例を次に示します。 1. ajaxを使...

MySQL パーティション テーブルの基本入門チュートリアル

序文最近のプロジェクトでは、大量のデータを保存する必要があり、このデータには有効期限があります。クエ...

Vue でクラスとスタイルを使用して v-bind バインディングを使用するいくつかの方法

要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、Web サ...

Angular CDK を使用してサービスポップアップトーストコンポーネント機能を実装する

目次1. 環境設備2. ToastコンポーネントとToastServiceを作成する2.1 Toas...

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

目次序文1. 概要2. 読み取りと書き込みの分離3. MySQL マスタースレーブレプリケーションの...

MySQL 4 の一般的なマスタースレーブレプリケーションアーキテクチャ

目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...

Mysql: 定義者として指定されたユーザー ('xxx@'%') が存在しません 解決策

本日のプロジェクト最適化中に、MySQL に問題が発生しました: 定義者として指定されたユーザー (...

詳細なLinuxインストールチュートリアル

(Win7 システム) VMware 仮想マシンのインストール チュートリアルVMware は仮想マ...

JavaScript を使用してソートアルゴリズムを実装する方法

目次バブルソート選択ソート挿入ソート要約するバブルソートバブルソートは、シーケンスの右側から始めて、...

WeChat アプレット uniapp は左スワイプによる削除効果を実現します (完全なコード)

WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...

LinuxでVIMエディタを使う方法

豊富なオプションを備えた強力なエディターとして、Vim は多くのユーザーに愛されています。この記事で...