Heim  >  Artikel  >  Web-Frontend  >  Tag der Erkundung von JavaScript-Vergleichen: „==“, „===“ und mehr verstehen

Tag der Erkundung von JavaScript-Vergleichen: „==“, „===“ und mehr verstehen

WBOY
WBOYOriginal
2024-09-03 13:26:52296Durchsuche

Day xploring JavaScript Comparisons: Understanding `==`, `===`, and More

JavaScript-Vergleiche können manchmal schwierig sein, insbesondere wenn es um verschiedene Datentypen wie null und undefiniert geht. Heute untersuchen wir, wie Vergleichsoperatoren funktionieren und welche Nuancen zwischen == und === in JavaScript bestehen.

Grundlegende Vergleiche

Beginnen wir mit einigen grundlegenden Vergleichen:

console.log(2 > 1);   // true
console.log(2 >= 1);  // true
console.log(2 < 1);   // false
console.log(2 == 1);  // false
console.log(2 != 1);  // true

Diese Vergleiche sind unkompliziert und funktionieren wie erwartet. Aber interessant wird es, wenn wir null und undefiniert in die Mischung einführen.

Null mit Zahlen vergleichen

Mal sehen, was passiert, wenn wir Null mit Zahlen vergleichen:

console.log(null >= 0);  // true
console.log(null === 0); // false

Hier ist, was passiert:

  • Vergleichsoperator (>=): Wenn Sie einen Vergleichsoperator wie >= verwenden, konvertiert JavaScript null in 0, bevor der Vergleich durchgeführt wird. Aus null >= 0 wird also 0 >= 0, was wahr ist.

  • Strikte Gleichheit (===): Der strikte Gleichheitsoperator führt keine Typkonvertierung durch, daher ist null === 0 falsch, da null nicht der gleiche Typ wie 0 ist.

Vergleich von undefiniert mit Zahlen

Schauen wir uns nun an, wie sich undefiniert verhält:

console.log(undefined >= 0); // false
console.log(undefined == 0); // false
  • Vergleich mit undefiniert: Im Gegensatz zu null wird undefiniert beim Vergleich nicht in 0 konvertiert. Stattdessen ist das Ergebnis immer falsch, da undefiniert in diesem Zusammenhang als „keine Zahl“ betrachtet wird.

  • Gleichheitsoperator (==): Selbst wenn der lose Gleichheitsoperator verwendet wird, ist undefiniert nicht gleich 0. Tatsächlich ist undefiniert nur gleich null, wenn == verwendet wird.

Verstehen == vs ===

  • == (Lose Gleichheit): Dieser Operator konvertiert die Operanden in denselben Typ, bevor der Vergleich durchgeführt wird. Aus diesem Grund ist null == 0 falsch, null == undefiniert jedoch wahr.

  • === (Strenge Gleichheit): Dieser Operator prüft sowohl den Wert als auch den Typ, ohne jegliche Konvertierung. Aus diesem Grund ist null === 0 falsch und null === undefiniert ebenfalls falsch.

Zusammenfassung

Zu verstehen, wie JavaScript Vergleiche handhabt, ist entscheidend, um unerwartetes Verhalten in Ihrem Code zu vermeiden. Egal, ob Sie Zahlen vergleichen, mit null oder undefiniert arbeiten oder sich zwischen == und === entscheiden, die Kenntnis der Details hilft Ihnen, vorhersehbareres und zuverlässigeres JavaScript zu schreiben.

Viel Spaß beim Codieren und wir sehen uns im nächsten!!!

Das obige ist der detaillierte Inhalt vonTag der Erkundung von JavaScript-Vergleichen: „==“, „===“ und mehr verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn