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 3Typkoerzierung7Rechner zum Teilen der Rechnung
WillkommensnachrichtTrinkgeld und Gesamtbetrag berechnen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion2Variablen
ZahlenZeichenketteBoolescher WertNamenskonventionenLeere VariablenZusammenfassung – Variablen initialisierenKonstanten5Entscheidungen treffen
If-AnweisungIf – ElseRückblick – Einfacher TaschenrechnerVerschachteltes If – ElseSwitch-Anweisung8Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung – FakultätDo-While-SchleifeVerschachtelte Schleife3Operatoren – Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzformenVergleichsoperatorenStrikte vs. lose GleichheitRückblick – einfache Mathematik6Grundlegende Ein- und Ausgabe
AusgabeAusgabe mit VariablenTypkonvertierung – Teil 1Typkonvertierung – Teil 2Wiederholung – Bis 120Wiederholung – Wahr oder falschÜbe selbstständig: Online-JavaScript-Compiler