Bug: ("" == false) ergibt true?
Martin Fleck
- javascript
hallo,
wieso liefert mir alert ("" == false) im Ie, Netscape und Opera immer true? Hab ich irgendwas übersehen? In ActionScript (Flash Mx) erhalte ich dagegen immer false. Wer ist im Recht?
Vielen Dank.
--
Martin Fleck
Hallo Martin
wieso liefert mir alert ("" == false) im Ie, Netscape und Opera immer true? Hab ich irgendwas übersehen? In ActionScript (Flash Mx) erhalte ich dagegen immer false. Wer ist im Recht?
:-) beide,
JavaScript führt bei solchen Vergleichen eine Typkonvertierung durch, denn es wird nur der Wert aber nicht der Typ geprüft. Wird ein Leerstring zu einem boolschen Wert konvertiert, so erhält er den Wert false.
Willst du Typ und Wert vergleichen, benötigst du den Identitätoperator ===
Dann ergibt "" === false auch false.
Viele Grüße
Antje
JavaScript führt bei solchen Vergleichen eine Typkonvertierung durch, denn es wird nur der Wert aber nicht der Typ geprüft. Wird ein Leerstring zu einem boolschen Wert konvertiert, so erhält er den Wert false.
Alles klar. Danke, trotzdem sehr ungewohnt :-)
--
Martin Fleck