zonk: Typecasting in verschiedenen Kontexten

Beitrag lesen

Hallo,

Scheint so. Wenn immer eine weitere Auswertung stattfinden soll, wie eine Addition oder Konkatenation, dann ist es auch logisch, dass man eine bestimmte Eigenschaft/Methode des Objekts meint, seinen eigentlichen Wert, den dann eben valueOf() liefert:

Nein, das finde ich gar nicht logisch:

z = new Number (5);
Number.prototype.toString = function() {
return "fünf";
};

alert(z); // fünf
alert(z+5); // 10
alert(z+ " Kisten"); // 5 Kisten

z2 = 5;

alert(z2); // 5
alert(z2+5); // 10
alert(z2+ " Kisten"); // 5 Kisten

Angenommen, die toString()-Methode würde für alle Zahlen eine verbale Umschreibung zurückgeben. Dann macht es imo keinen Sinn, wenn

alert(z+ " Kisten")

nicht "fünf Kästen" ausgibt.

Noch ärgerlicher ist, wenn

alert(z2); nicht "fünf", sondern 5 ausgibt, nur weil z2 primitiv deklariert wurde.