Strikte vs. lose Gleichheit
Teil des Abschnitts Grundlagen der JavaScript-Journey von Coddy — Lektion 16 von 77.
In JavaScript gibt es zwei Arten von Gleichheitsoperatoren: lose Gleichheit (==) und strikte Gleichheit (===).
Lockere Gleichheit (==) prüft, ob zwei Werte gleich sind, nachdem eine Typumwandlung durchgeführt wurde. Das bedeutet, dass JavaScript, wenn die Operanden unterschiedliche Typen haben, versuchen wird, sie in einen gemeinsamen Typ umzuwandeln, bevor der Vergleich durchgeführt wird.
Zum Beispiel:
let b = 5 == "5"; // Ergibt true, da der String "5" vor dem Vergleich in die Zahl 5 umgewandelt wirdlet b = 0 == false; // Ergibt true, da der boolesche Wert false vor dem Vergleich in die Zahl 0 umgewandelt wirdlet c = "" == false; // Ergibt true, da der leere String vor dem Vergleich in die Zahl 0 umgewandelt wirdStrikte Gleichheit (===) hingegen prüft, ob zwei Werte gleich sind, ohne eine Typumwandlung durchzuführen. Wenn die Operanden unterschiedliche Typen haben, werden sie als ungleich betrachtet.
Zum Beispiel:
let b = 5 === "5"; // Ergibt false, da keine Typumwandlung durchgeführt wird und eine Zahl nicht gleich einer Zeichenfolge istlet b = 0 === false; // Ergibt false, da keine Typumwandlung durchgeführt wird und die Zahl 0 nicht gleich dem booleschen Wert false istIm Allgemeinen wird empfohlen, in den meisten Fällen die strikte Gleichheit (===) zu verwenden, um unerwartete Ergebnisse aufgrund von Typumwandlung zu vermeiden.
Ähnlich gibt es auch Operatoren für lose Ungleichheit (!=) und strikte Ungleichheit (!==), die auf ähnliche Weise funktionieren, aber auf Ungleichheit statt auf Gleichheit prüfen.
Die lose Ungleichheit (!=) prüft, ob zwei Werte nicht gleich sind, nachdem eine Typumwandlung durchgeführt wurde, während die strikte Ungleichheit (!==) prüft, ob zwei Werte nicht gleich sind, ohne eine Typumwandlung durchzuführen.
Aufgabe
AnfängerDir wird ein Code mit drei Variablen gegeben: a, b und c.
Deine Aufgabe ist es, die folgenden Vergleiche durchzuführen und die Ergebnisse auszugeben:
- Überprüfe, ob
alose gleichbist, und speichere das Ergebnis ind. - Überprüfe, ob
astrikt gleichcist, und speichere das Ergebnis ine. - Überprüfe, ob
blose ungleichcist, und speichere das Ergebnis inf. - Überprüfe, ob
astrikt ungleichbist, und speichere das Ergebnis ing.
Verwende die gegebenen Variablen und Vergleichsoperatoren, um die Aufgabe abzuschließen.
Probier es selbst
// Gegebene Variablen
let a = 10
let b = "10"
let c = true
// Schreibe deinen Code unten
// Ändere die folgende Zeile nicht
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Type Coercion7Rechnungs-Split-Rechner
WillkommensnachrichtTrinkgeld und Gesamtsumme berechnen2Variablen
ZahlenStringsBooleanNamenskonventionenLeere VariablenRückblick - Variablen initialisierenKonstanten5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenSwitch-Anweisung8Schleifen
For-SchleifeWhile-SchleifeBreakContinueRückblick - FakultätDo-While-SchleifeVerschachtelte Schleife3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenStrikte vs. lose GleichheitZusammenfassung – Einfache Mathematik6Grundlagen der IO
AusgabeAusgabe mit VariablenTypumwandlung - Teil 1Typumwandlung - Teil 2Wiederholung - Bis 120Wiederholung - Wahr oder Falsch