molily: Neuling: Komma und zweistellig mit kfm. Runden

Beitrag lesen

Hallo,

[…] Ich bin mir nicht mal sicher, ob toString() für Strings überhaupt implementiert ist.

Könnte man ja auch einfach mal nachschauen:
String.prototype.toString

toString ist übrigens für JEDES Objekt definiert:
http://es5.github.io/#x15.2.4.2@Object.prototype.toString

(Genauer gesagt für jedes Objekt, welches Object.prototype in der Prototype-Chain hat. Das sind alle üblichen Objekte der JavaScript-Welt, die nicht gerade mit Object.create(null) erzeugt worden sind oder bei denen __proto__ überschrieben wurde.)

toString() auf einen String angewendet gibt den String zurück. Das ganze hat den Zweck sicherzustellen, dass auf dem richtigen Datentyp operiert wird. Ein verbreitetes Konstrukt in dynamischen Programmiersprachen, bei denen der Interpreter bzw Compiler nicht sicherstellen kann, dass der gewünschte Datentyp übergeben wird.

Korrekt. Ein bisschen sinnvoller wäre übrigens [link:http://es5.github.io/#x15.5.1.1@title=String](), weil toString zwar für Objekte, aber nicht für alle Typen definiert ist. (null).toString() und (undefined).toString() funktioniert aus naheliegenden Gründen nicht. Allerdings: Wenn der Funktion null oder undefined übergeben wird, kann sie ruhig mit einer Exception abbrechen.

Mathias