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

推薦する

Hadoop を使用せずに Linux 環境に Spark のスタンドアロン バージョンをインストールする方法

ビッグデータはますます注目を集めており、ビッグデータのいくつかの構成要素に精通していないと、自慢でき...

Linux Tensorflow2.0のインストール問題を解決する

conda アップデート conda pip で tf-nightly-gpu-2.0-previ...

一般的な Dockerfile コマンドの使用方法の紹介

目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...

nginx と Tencent Cloud の無料証明書を使用して https を作成する方法

httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...

MySQL 5.7.20 zip インストール チュートリアル

MySQL 5.7.20 zipインストール、具体的な内容は次のとおりです(1)圧縮パッケージを解凍...

Docker MySQLコンテナデータベースへの変更が有効にならない問題を解決する

公式の MySQL イメージを使用するには、構成ファイル、DB データ ファイル ディレクトリなどの...

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...

Dockerで同じIDを持つ2つのイメージを削除する

今日 Docker コンテナを作成したとき、誤ってイメージの名前を間違って入力しました。その結果、コ...

DockerコンテナでLNMPをコンパイルする例

目次1. プロジェクトの説明2. Nginxイメージの作成3. MySQLイメージの作成4. PHP...

マインスイーパゲームを実装するための jQuery プラグイン (3)

この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する方法に関する3番目の記事...

Ubuntu環境でxdebugをコンパイルしてインストールする方法

この記事では、Ubuntu 環境で xdebug をコンパイルしてインストールする方法について説明し...

jQuery ステップ進行軸プラグインの実装コード

毎日のjQueryプラグイン - ステップ進捗軸 ステップ進捗軸ツール系のサイトでは入門チュートリア...

無効と読み取り専用の機能と違い

1: readonly は、このコントロールをロックして、インターフェイス上で変更できないようにしま...

Vue プロジェクトで mock.js を使用するための完全な手順

Vue プロジェクトで mock.js を使用する開発ツールの選択: Vscode 1. コマンドラ...