Ich weiß, dass es viele Schwierigkeiten mit dem Gleichheitsoperator gibt ( ==
). Zum Beispiel sind alle folgenden wahr...
null == undefined
1 == '1'
true == 1
false == ''
In allen oben genannten Fällen ist die Verwendung des Identitätsoperators ( ===
) hätte die (absolut) richtige Antwort geliefert.
Aber wenn ich nur einfachere Dinge vergleichen will, die nicht unter Macken leiden, warum sollte ich dann nicht den Gleichheitsoperator verwenden. Zum Beispiel...
typeof x == 'number'
str == 'something'
Meine Frage ist also: Warum hat der Gleichheitsoperator einen so abwertenden Status, wenn er doch in manchen Situationen nützlich ist?