Frage Unterschied zwischen == und === in JavaScript [duplizieren]


Mögliche Duplikate:
Javascript === vs ==: Ist es egal, welchen "gleichen" Operator ich verwende? 

Was ist der Unterschied zwischen == und === in JavaScript? Ich habe es auch gesehen != und !== Betreiber. Gibt es mehr solche Betreiber?


1411
2018-02-07 11:53


Ursprung


Antworten:


=== und !== sind strenge Vergleichsoperatoren:

JavaScript hat sowohl strenge als auch   Typkonvertierender Gleichheitsvergleich.   Für strenge Gleichheit sind die Objekte   im Vergleich muss der gleiche Typ sein und:

  • Zwei Strings sind genau gleich, wenn sie dieselbe Sequenz haben   Zeichen, gleiche Länge und gleich   Zeichen in entsprechenden Positionen.
  • Zwei Zahlen sind genau gleich, wenn sie numerisch gleich sind (haben   derselbe Zahlenwert). NaN ist nicht   gleich zu allem, einschließlich NaN.   Positive und negative Nullen sind gleich   zueinander.
  • Zwei boolesche Operanden sind genau gleich, wenn beide wahr oder sind   beide sind falsch.
  • Zwei Objekte sind genau gleich, wenn sie sich auf dasselbe Objekt beziehen.
  • Null und Undefined Typen sind == (aber nicht ===). [I.e. (Null == Nicht definiert) ist wahr, aber (Null === Nicht definiert) ist falsch]

Vergleichsoperatoren - MDC


1075
2018-02-07 11:55



Schau mal hier: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

Die 3 Gleichheitszeichen bedeuten "Gleichheit ohne Typzwang". Bei Verwendung des Triple-Equals müssen die Werte ebenfalls gleich sein.

0 == false   // true
0 === false  // false, because they are of a different type
1 == "1"     // true, automatic type conversion for value only
1 === "1"    // false, because they are of a different type
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false

1760
2018-02-07 11:57