Über die Probleme von Kongruenz und Ungleichheit, Gleichheit und Ungleichheit in JS

Über die Probleme von Kongruenz und Ungleichheit, Gleichheit und Ungleichheit in JS

Kongruent und inkongruent

Der Vergleich der Operanden auf beiden Seiten des Symbols ist derselbe wie beim Operator. Wenn die Operanden beispielsweise gleich sind, wird „true“ zurückgegeben, andernfalls „false“. Die Gleichheits- und Ungleichheitsoperatoren konvertieren die Operanden beim Vergleichen auf Gleichheit nicht, d. h., sie vergleichen direkt auf Gleichheit oder Ungleichheit ohne Konvertierung.

kongruent

Symbol: ===

let str1="1"
sei str2=1
console.log(str1===str2) //false

Nicht alle gleich

Symbol:! ==

let str1="1"
sei str2=1
console.log(str1!==str2) //wahr

Gleich und ungleich

Die Gleichheits- und Ungleichheitsoperatoren vergleichen ebenfalls zwei Operanden. Beispielsweise gibt der Gleichheitsoperator „true“ zurück, wenn die beiden Operanden gleich sind, andernfalls „false“. Der Unterschied zwischen den Gleichheits- und Ungleichheitsoperatoren besteht jedoch darin, dass die Gleichheits- und Ungleichheitsoperatoren zuerst eine erzwungene Typkonvertierung der Operanden durchführen und dann die konvertierten Operanden vergleichen.

gleich

Symbol: ==

let str1="1"
sei str2=1
console.log(str1==str2) //wahr
console.log(str1===str2) //false
lass Flagge = wahr
sei num=1
console.log(flag==num) //wahr
console.log(flag===num) //falsch

Ungleich

Symbol:! =

let str1="1"
sei str2=1
let str3="hallo"
console.log(str1!=str2) //false Erst Typkonvertierung, dann Vergleich console.log(str1!==str2) //true Bei der Gleichheitsoperation sind die beiden Operanden ohne erzwungene Typkonvertierung nicht unbedingt gleich.	
console.log(str2!=str3) //wahr	  
console.log(str2!==str3) //wahr

Für die Typkonvertierung von Operanden für Gleichheits- und Ungleichheitsoperatoren gelten folgende Regeln:

Boolesche Werte werden zum Vergleich direkt in numerische Werte umgewandelt: false: 0; true: 1

Wenn eine Zeichenfolge auf eine Zahl trifft, wird sie in eine Zahl umgewandelt und dann verglichen.

Bei Objekten wird verglichen, ob es sich bei beiden Operanden um dasselbe Objekt handelt, sofern es sich um Objekte handelt. Wenn sich die beiden Operanden auf dasselbe Objekt beziehen, wird „true“ zurückgegeben, andernfalls „false“. Wenn einer der Operanden ein Objekt ist, wird die Methode valueOf aufgerufen, um den ursprünglichen Wert abzurufen. Anschließend wird der Vergleich durchgeführt (gemäß den oben genannten Regeln).

const p = neues Objekt('zhangsan') // entspricht const p = neuer String('zhangsan')
console.log(p.valueOf() == 'zhangsan') //wahr
console.log(p == 'zhangsan') //wahr
const p1={name:'zhangsan'}
sei p2=p1
console.log(p1==p2) //wahr
p2={}
console.log(p1==p2) //falsch

Für „null“ und „undefiniert“ gilt: „null“ und „undefiniert“ sind gleich, aber sie werden nicht erzwungen, egal, mit wem sie verglichen werden.

console.log(null==undefiniert) //wahr
console.log(null===undefined) //false Wenn alle gleich sind, ist das Rückgabeergebnis immer noch false

Bei NaN ist NaN nicht gleich jedem Wert, auch nicht sich selbst. Ein Vergleich mit NaN-Operatoren gibt „False“ zurück, wenn sie gleich sind, und „True“, wenn sie ungleich sind.

console.log(NaN==NaN) //falsch
konsole.log(NaN!='') //wahr
console.log(NaN!=1) //wahr
console.log(NaN!={}) //wahr

Dies ist das Ende dieses Artikels über Kongruenz und Ungleichheit, Gleichheit und Ungleichheit in JS. Weitere relevante JS-Inhalte über Kongruenz und Ungleichheit, Gleichheit und Ungleichheit finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Erklären Sie kurz den Unterschied zwischen = = (gleich) und = = = (vollkommen gleich) in Javascript
  • Sind die Ereignisobjekte zwischen den JS-Ereignisverarbeitungsfunktionen identisch?
  • Der Unterschied zwischen Gleichheit (==) und Übereinstimmung (===) in JavaScript
  • Anweisungen zur Verwendung des Gleichheitsoperators in JavaScript
  • Lösen Sie das Problem, dass 0,1 + 0,2 in JavaScript nicht gleich 0,3 ist
  • Wie lautet der Code für „ungleich“ in JavaScript?

<<:  Verwendung des Linux-Befehls „userdel“

>>:  So fügen Sie in MySQL 8.0 schnell Spalten hinzu

Artikel empfehlen

Was tun, wenn der von Docker Run gestartete Container hängt und Daten verliert?

Szenariobeschreibung In einem bestimmten System w...

So ändern Sie schnell das Hostattribut eines MySQL-Benutzers

Wenn Sie sich remote bei MySQL anmelden, gelten f...

Zusammenfassung der Verwendung von MySQL-Datums- und Uhrzeitfunktionen

Dieser Artikel basiert auf MySQL 8.0 Dieser Artik...

Allgemeine Textverarbeitungsbefehle unter Linux und Vim-Texteditor

Lassen Sie uns heute einige gängige Textverarbeit...

Nginx-Lastausgleichsalgorithmus und Failover-Analyse

Überblick Der Lastenausgleich von Nginx bietet Up...

Tipps zur Verwendung kleiner HTML-Tags

Phrasenelemente wie <em></em> können d...

Three.js realisiert den dynamischen 3D-Logoeffekt von Facebook Metaverse

Inhaltsverzeichnis Hintergrund Was ist das Metave...

Das Prinzip und die Anwendung der ES6-Dekonstruktionszuweisung

Inhaltsverzeichnis Array-Destrukturierungszuweisu...

Detaillierte Erklärung von MySQL-Transaktionen und MySQL-Protokollen

Transaktionale Merkmale 1. Atomarität: Nach dem S...