JavaScript implizite Konvertierungen in Gleichheit mit einem String
-
16-09-2019 - |
Frage
Wie JavaScript verhalten für die Vergleiche true == "true"
und (0 == "0")
?
Lösung
Typ Zwang bewusst Operatoren können einige wierd Ergebnisse liefern (== und! =):
'' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
' \t\r\n ' == 0 // true
Die === und! == Strikter Gleichheits-Operatoren sind immer bevorzugt .
Andere Tipps
Wenn == Verwendung oder! =, Wenn die Typen der beiden Ausdrücke unterschiedlich sind, wird es versuchen, sie zu Zeichenfolge zu konvertieren, eine Zahl oder Boolean etc
Sie können jedoch die Identität Vergleich verwenden === oder! == wo keine Typumwandlung durchgeführt wird, und die Typen gleich sein müssen, um als gleich betrachtet werden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow