JavaScript Triple Equals Sign VS Double Equals Sign - Vergleichsoperatoren anhand von Beispielen erläutert

Möglicherweise haben Sie in JavaScript doppelte und dreifache Gleichheitszeichen gesehen. Aber was meinen sie?

Kurz gesagt: ==Konvertiert von Natur aus den Typ und ===konvertiert den Typ nicht.

Double Equals ( ==) prüft nur auf Wertgleichheit. Es macht von Natur aus Zwang. Dies bedeutet, dass vor dem Überprüfen der Werte die Variablentypen so konvertiert werden, dass sie miteinander übereinstimmen.

Auf der anderen Seite führt Triple Equals ( ===) keinen Typenzwang aus. Es wird prüfen , ob die Variablen beide den gleichen Wert haben verglichen werden und den gleichen Typ.

OK - helfen wir Ihnen, den Unterschied anhand einiger Beispiele besser zu verstehen. Überlegen Sie für jede dieser Anweisungen, wie die Ausgabe dieser Anweisungen aussehen wird.

Beispiel 1:

const foo = "test" const bar = "test" console.log(foo == bar) //true console.log(foo === bar) //true 

Der Wert und der Typ von beiden foound barist gleich. Daher ist das Ergebnis truefür beide.

Beispiel 2: ‌

const number = 1234 const stringNumber = '1234' console.log(number == stringNumber) //true console.log(number === stringNumber) //false 

Der Wert von numberund stringNumbersieht hier ähnlich aus. Die Art von numberist Numberund Art von stringNumberist jedoch string. Obwohl die Werte gleich sind, ist der Typ nicht der gleiche. Daher wird eine ==Prüfung zurückgegeben true, aber wenn auf Wert und Typ geprüft wird , ist der Wert false.

Beispiel 3:

console.log(0 == false) //true console.log(0 === false) //false 

Grund: gleicher Wert, unterschiedlicher Typ. Typ Zwang

Dies ist ein interessanter Fall. Der Wert von, 0wenn mit überprüft, falseist der gleiche. Es ist so, weil 0und falsehaben den gleichen Wert für JavaScript, aber wenn auf Typ und Wert geprüft , ist der Wert falsch, weil 0a numberund falseist boolean.

Beispiel 4:

const str = "" console.log(str == false) //true console.log(str === false) //false

Der Wert der leeren Zeichenfolge falseist in JavaScript identisch. Gibt also ==true zurück. Der Typ ist jedoch unterschiedlich und gibt daher ===false zurück.

Wann sollten Sie verwenden ==und wann sollten Sie verwenden ===?

Im Zweifelsfall verwenden ===. Dies erspart Ihnen eine Menge potenzieller Fehler.

Wenn Sie einen Anwendungsfall unterstützen, bei dem Sie hinsichtlich der Art der eingehenden Daten etwas nachsichtig sein können, verwenden Sie ==. Wenn eine API beispielsweise beide "true"und truevom Client akzeptiert , verwenden Sie ==. Kurz gesagt, verwenden ==Sie es nur, wenn Sie einen starken Anwendungsfall dafür haben.

Hier ist eine praktische JavaScript-Wahrheitstabelle, die Ihnen als Referenz dient und Ihnen zeigt, wie kompliziert die Gleichheit in JavaScript ist:

Wenn Ihnen dieser Artikel gefallen hat, folgen Sie mir auf Twitter, um Updates zu erhalten.

F: Wie viel Platz wird frei, wenn Großbritannien die EU verlässt?

.

.

.

A: 1 GB # DevJoke #NotAJoke

- Shruti Kapoor (@ shrutikapoor08) 4. Oktober 2019