Struppi: JS Typprobleme

Beitrag lesen

Also die Spezifikation sagt:

11.9.3 The Abstract Equality Comparison Algorithm
The comparison x == y, where x and y are values, produces true or false. Such a comparison is
performed as follows:

  1. If Type(x) is different from Type(y), go to step 14.
    [...]
    14.[...]
    15.[...]
    16.[...]
    17.[...]
  2. If Type(x) is Boolean, return the result of the comparison ToNumber(x) == y.
  3. If Type(y) is Boolean, return the result of the comparison x == ToNumber(y).

eigentlich steht da, dass der Boolean Wert mit toNumber() umgewandelt wird, das ist entweder ein Druckfehler oder ich weiß es nicht, aber das würde die ganzen Merkwürdigkeiten erklären:

http://www.united-coders.com/matthias-reuter/all-about-types-part-2
Soweit hab ich gar nicht gwagt zu denken - der Boolean Wert wird wirklich zu einer Zahl umgewandelt.

Struppi.