Ist es notwendig === um Strings in Javascript zu vergleichen oder ist == genug? [Duplikat]

8

Ich kann verstehen, warum === notwendig ist, wenn Zahlen, boolesche Werte, leere Strings usw. aufgrund unerwarteter Typkonvertierungen verglichen werden, z. B.

%Vor%

Aber kann == jemals einen Fehler beim Vergleich einer Variablen mit einem nicht leeren Zeichenfolgenliteral einführen? Ist es in diesem Fall effizienter, == über === zu verwenden?

    
AlexMA 08.08.2012, 13:12
quelle

4 Antworten

7

Das wurde hier sehr gefragt, also lasse ich einfach ein besseres Poster als ich selbst beantworten.

Schauen Sie hier nach: Ссылка

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

%Vor%

Quelle Unterschied zwischen == und === in JavaScript

    
Eric Robinson 08.08.2012, 13:16
quelle
4

Es empfiehlt sich, immer die identity-Operatoren ( !== und === ) zu verwenden und die Typenkorrektur nur dann manuell durchzuführen, wenn dies erforderlich ist (zB Boolean(someVar) oder Number(someVar) ). .

Eine lustige Geige .

    
jbabey 08.08.2012 13:16
quelle
1

Nun, ich habe es selbst beantwortet ... 5 == "5", aber 5! == "5", was unerwartet sein könnte. Ich werde jedoch jedem, der einen tieferen Einblick hat, Anerkennung zollen.

    
AlexMA 08.08.2012 13:14
quelle
0

Das "==" führt eine Typumwandlung vor dem Vergleich durch. Das ist der Grund, warum 5 == "5" wahr und nicht falsch ist.

Die "===" statt diese Konvertierung, so dass 5 === "5" ist nicht das Gleiche, solange der Typ nicht der gleiche ist.

    
tuxtimo 08.08.2012 13:17
quelle

Tags und Links