Ü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

Vollständige Analyse des MySQL INT-Typs

Vorwort: Integer ist einer der am häufigsten verw...

So verwenden Sie Makros in JavaScript

In Sprachen werden häufig Makros zur Implementier...

Detailliertes Beispiel zum Ändern des Linux-Kontokennworts

Passwort des persönlichen Kontos ändern Wenn norm...

Beispielcode zur Implementierung der Menüberechtigungssteuerung in Vue

Wenn Benutzer an einem Backend-Verwaltungssystem ...

Lösung für Fremdschlüsselfehler bei der MySQL-Tabellenerstellung

Datenbanktabelle A: Tabelle erstellen Task_Desc_T...

Einige Referenzen zu Farben in HTML

In HTML werden Farben auf zwei Arten dargestellt. ...

Detaillierte Erklärung der Verwendung des Linux-Befehls lsof

lsof (List Open Files) ist ein Tool zum Anzeigen ...

Vue+Vant implementiert die obere Suchleiste

In diesem Artikelbeispiel wird der spezifische Co...

Fallstudie zu JavaScript-Funktionsaufrufen, Apply- und Bind-Methoden

Zusammenfassen 1. Ähnlichkeiten Beide können den ...

Bearbeiten Sie zwei Datenspalten als neue Spalten in SQL

Wie unten dargestellt: wähle a1,a2,a1+a2 a,a1*a2 ...

JavaScript-Interview: So implementieren Sie die Methode zur Array-Abflachung

Inhaltsverzeichnis 1. Was ist Array-Flattening? 2...

Reiner CSS-Beispielcode für Meteorschauer-Hintergrund

GitHub-Adresse, Sie können es mit einem Stern mar...

Vue Shuttle-Box ermöglicht Auf- und Abbewegung

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung der Nginx-Konfiguration https

Inhaltsverzeichnis 1: Bereiten Sie das https-Zert...