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

推薦する

Vue で Baidu Map を呼び出して経度と緯度を取得する

プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...

MySQL トランザクション制御フローと ACID 特性

目次1. ACIDの特性トランザクション制御構文3. トランザクション同時実行例外1. ダーティリー...

Vue SPA ファースト スクリーン最適化ソリューション

目次序文最適化ソ連オンデマンドインポート1. ルーティングファイルでコンポーネントをオンデマンドでイ...

CSS 擬似要素::マーカーの詳細な説明

この記事では、CSS ::markerの興味深い疑似要素を紹介します。これを使用すると、テキスト番号...

VantフレームワークをWeChatアプレットに導入するプロセス全体の記録

序文WeChat ミニプログラムのネイティブ UI が少し物足りないと感じることがあるので、サードパ...

HTMLページ内の検索機能を完了する

最近、たくさんの人に改変してもらったフレームワークに取り組んでいます。毎日コードを見ていると目が回り...

超大型フォントを使用した 40 の Web ページ デザイン

今日の Web デザインでは、非常に大きなフォントが表示される傾向があります。これらのオープンソース...

データベースSQL SELECTクエリの仕組み

私たちは Web 開発者として、プロの DBA ではありませんが、データベースなしではやっていけませ...

Vue3の状態管理の使用方法の詳細な説明

目次背景提供/注入共有状態の抽出データを提供するデータの挿入まとめ反応的な共有状態の抽出共有状態の使...

CentOS7でルートパスワードをリセットする方法

レンガを移動するプロセスでは、さまざまな環境および構成の問題があり、毎回異なるエラーが発生します。 ...

TypeScript での関数オーバーロード

目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...

ウェブデザインの概要

<br />1998年に最初の個人ページが誕生してから2008年の今日まで、デザイン業界...

Linux サーバー上で複数の SVN リポジトリを構成するプロセスの詳細な説明

1. 指定されたディレクトリにリポジトリを作成し、ディレクトリ全体を保存してください。この記事のサン...

HTML+CSS+jQuery はスクリーンショットで検索ホットリストタブ効果を模倣します

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

uniappを使用してWeChatミニプログラムでEChartsを使用する方法

今日は、uniapp を使用して Echarts を統合し、マップ チャートを表示します。 mpvu...