Menu
Coddy logo textTech

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 (Type Coercion) 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 wird
let b = 0 == false; // Ergibt true, da der boolesche Wert false vor dem Vergleich in die Zahl 0 umgewandelt wird

Strikte 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";   // Ist false, da keine Typumwandlung durchgeführt wird und eine Zahl nicht gleich einer Zeichenfolge ist
let b = 0 === false; // Hält false, da keine Typumwandlung durchgeführt wird und die Zahl 0 nicht gleich dem booleschen Wert false ist

Im Allgemeinen wird empfohlen, in den meisten Fällen die strikte Gleichheit (===) zu verwenden, um unerwartete Ergebnisse aufgrund von Typumwandlung zu vermeiden.

Ebenso gibt es auch Operatoren für lose Ungleichheit (!=) und strikte Ungleichheit (!==), die auf ähnliche Weise funktionieren, aber auf Ungleichheit statt auf Gleichheit prüfen.

Lose Ungleichheit (!=) prüft, ob zwei Werte nicht gleich sind, nachdem eine Typumwandlung durchgeführt wurde, während strikte Ungleichheit (!==) prüft, ob zwei Werte nicht gleich sind, ohne eine Typumwandlung durchzuführen.

challenge icon

Aufgabe

Anfänger

Dir wird ein Code mit drei Variablen gegeben: a, b und c.

Deine Aufgabe ist es, die folgenden Vergleiche durchzuführen und die Ergebnisse auszugeben:

  1. Überprüfe, ob a lose gleich b ist, und speichere das Ergebnis in d.
  2. Überprüfe, ob a strikt gleich c ist, und speichere das Ergebnis in e.
  3. Überprüfe, ob b lose ungleich c ist, und speichere das Ergebnis in f.
  4. Überprüfe, ob a strikt ungleich b ist, und speichere das Ergebnis in g.

Verwende die gegebenen Variablen und Vergleichsoperatoren, um die Aufgabe abzuschließen.

Spickzettel

JavaScript hat zwei Arten von Gleichheitsoperatoren:

Lockere Gleichheit (==) führt vor dem Vergleich eine Typumwandlung (Type Coercion) durch:

5 == "5"   // true - String "5" wird in Zahl 5 umgewandelt
0 == false // true - Boolean false wird in Zahl 0 umgewandelt

Strikte Gleichheit (===) vergleicht ohne Typumwandlung:

5 === "5"   // false - Zahl vs. String, keine Umwandlung
0 === false // false - Zahl vs. Boolean, keine Umwandlung

Ähnliches gilt für Ungleichheitsoperatoren:

  • Lockere Ungleichheit (!=) – führt eine Typumwandlung durch
  • Strikte Ungleichheit (!==) – keine Typumwandlung

Es wird empfohlen, die strikte Gleichheit (===) zu verwenden, um unerwartete Ergebnisse durch Typumwandlung zu vermeiden.

Probier es selbst

// Gegebene Variablen
let a = 10
let b = "10"
let c = true

// Gib deinen Code unten ein


// Ändere die folgende Zeile nicht
console.log(`d = ${d}`)
console.log(`e = ${e}`)
console.log(`f = ${f}`)
console.log(`g = ${g}`)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen