Martin Fleck: Bug: ("" == false) ergibt true?

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

  1. 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

    1. 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