wake-up-neo.com

Unterschied zwischen == und === in JavaScript

Mögliches Duplikat:
Javascript === vs ==: Ist es wichtig, welchen "gleichen" Operator ich benutze?

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

1566
Shiva

=== und !== sind strenge Vergleichsoperatoren:

JavaScript bietet sowohl einen strengen als auch einen typkonvertierenden Gleichheitsvergleich. Für strict Gleichheit müssen die zu vergleichenden Objekte den gleichen Typ haben und:

  • Zwei Zeichenfolgen sind genau gleich, wenn sie an den entsprechenden Positionen dieselbe Zeichenfolge, dieselbe Länge und dieselben Zeichen aufweisen.
  • Zwei Zahlen sind genau gleich, wenn sie numerisch gleich sind (denselben Zahlenwert haben). NaN ist nicht gleich irgendetwas, einschließlich NaN. Positive und negative Nullen sind gleich.
  • Zwei Boolesche Operanden sind genau gleich, wenn beide wahr oder beide falsch sind.
  • Zwei Objekte sind genau gleich, wenn sie sich auf dasselbe Object beziehen.
  • Null und Undefined sind == (aber nicht ===). [D. h. (Null==Undefined) ist true, aber (Null===Undefined) ist false]

Vergleichsoperatoren - MDC

1156
Jack Sleight

Schauen Sie hier nach: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

Die 3 Gleichheitszeichen bedeuten "Gleichheit ohne Typenzwang". Bei Verwendung von Triple Equals müssen die Werte auch vom Typ her 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
1908
sdfx