.
Foto von Matt Popovich auf Unsplash
- Ein einzelnes Gleichheitszeichen (=) wird auch als Zuweisungsoperator bezeichnet.
- Wenn ich vereinfacht gesagt „a = 5“ sage, bedeutet das, dass ich den Wert „5“ in die Variable „a“ einfüge.
- Wenn ich nun versuche, den Wert von „a“ auszugeben, erhalte ich den Wert „5“.
const a = 5;
console.log(a); // 5
Das Gleichheitszeichenpaar ( == ) fungiert zusammengenommen als Vergleichsoperator.
Dies bedeutet, dass die beiden Werte, die auf der linken und rechten Seite dieses Operators stehen, auf Gleichheit geprüft werden.
const a = 5;
const b = "5";
console.log(a == b); // true
Dies bedeutet, dass dieser Gleichheitsoperator ( == ) den Datentyp bei der Prüfung auf Gleichheit der Werte nicht berücksichtigt. Es vergleicht nur die Werte und wenn die Werte gleich sind, ergibt es „wahr“ oder „falsch“.
Doch bevor es tatsächlich zu einem Vergleich kommt, kommt für diesen Betreiber Zwang ins Spiel.
Unter Zwang versteht man die automatische Konvertierung eines Datentyps in einen anderen.
Zunächst wird einer der Werte von einem Datentyp in den Datentyp umgewandelt, der zum anderen Wert passt. Zum Beispiel: Der String-Datentyp wird in einen Number-Datentyp konvertiert.
Nach Zwang erfolgt ein Vergleich zwischen den beiden Werten.
Aus diesem Grund wird dieser Operator auch als loser Gleichheitsoperator bezeichnet.
- Wenn wir die Datentypen auch vergleichen möchten, während wir die Werte auf Gleichheit prüfen, dann haben wir den dreifachen Gleichheitsoperator ( === ), auch bekannt als strikter Gleichheitsoperator.
- Bei Verwendung prüft dieser Operator die Gleichheit der Datentypen der Werte sowie die Gleichheit der Werte.
- Wenn die Werte von unterschiedlichen Datentypen sind, wird das Ergebnis „falsch“ sein.
const a = 5;
const b = "5";
console.log(a === b) // false
Zwang findet hier nicht statt.
Dieser Operator prüft die Gleichheit des Datentyps zusammen mit dem Wert. Dieser Operator wird auch als strikter Typoperator bezeichnet.