Cast: String oder new String
bearbeitet von ursus contionabundo> > Der Datentyp "string" ist ein primitiver Datentyp. Er hat keine Methoden,
>
> Doch hat er. Sonst würde ja ein `String(str).replace()` nicht funktionieren.
Lese noch mal nach, was ich zum "Ummanteln" geschrieben habe. Im Speicher ist beim Typ String kein Objekt, sondern nur die trockenen Daten - also keine Methode, Eigenschaft e.t.c.
Wenn Du auf dieses ETWAS von Typ String die String-Methoden anwendest oder nach String-Eigenschaften abfragst, dann packt JS die Daten temporär in ein anonymes Objekt, führt die Methode aus und vergisst das dafür angelegte Objekt spätestens dann wieder, wenn es nicht noch mal gebraucht wird. Davon sieht man freilich nichts, der Vorgang ist völlig transparent.
> Und console.log( typeof String('asdf') ); zeigt string
Ja. Klar. Aber eben nicht "object" wie es bei
~~~
console.log( typeof( new String('asdf') ) );
~~~
der Fall ist.
Cast: String oder new String
bearbeitet von ursus contionabundo> > Der Datentyp "string" ist ein primitiver Datentyp. Er hat keine Methoden,
>
> Doch hat er. Sonst würde ja ein `String(str).replace()` nicht funktionieren.
Lese noch mal nach, was ich zum "Ummanteln" geschrieben habe. Im Speicher ist beim Typ String kein Objekt, sondern nur die trockenen Daten - also keine Methode, Eigenschaft e.t.c.
Wenn Du auf dieses ETWAS von Typ String die String-Methoden anwendest oder nach String-Eigenschaften abfragst, dann packt JS die Daten temporär in ein anonymes Objekt, führt die Methode aus und vergisst das dafür angelegte Objekt spätestens dann wieder, wenn es nicht noch mal gebraucht wird. Davon sieht man freilich nichts, der Vorgang ist völlig transparent.
> Und console.log( typeof String('asdf') ); zeigt string
Ja. Klar. Aber eben nicht "object".
Cast: String oder new String
bearbeitet von ursus contionabundo> > Der Datentyp "string" ist ein primitiver Datentyp. Er hat keine Methoden,
>
> Doch hat er. Sonst würde ja ein `String(str).replace()` nicht funktionieren.
Lese noch mal nach, was ich zum "Ummanteln" geschrieben habe. Im Speicher ist beim Typ String kein Objekt, sondern nur die trockenen Daten - also keine Methode, Eigenschaft e.t.c.
Wenn Du auf dieses ETWAS von Typ String die String-Methoden anwendest oder nach String-Eigenschaften abfragst, dann packt JS die Daten temporär in ein anonymes Objekt, führt die Methode aus und vergisst das dafür angelegte Objekt gleich wieder. Davon sieht man freilich nichts, der Vorgang ist völlig transparent.
> Und console.log( typeof String('asdf') ); zeigt string
Ja. Klar. Aber eben nicht "object".
Cast: String oder new String
bearbeitet von ursus contionabundo> > Der Datentyp "string" ist ein primitiver Datentyp. Er hat keine Methoden,
>
> Doch hat er. Sonst würde ja ein `String(str).replace()` nicht funktionieren.
Lese noch mal nach, was ich zum "Ummanteln" geschrieben habe. Im Speicher ist bei Typ String kein Objekt, sondern nur die trockenen Daten - also keine Methode, Eigenschaft e.t.c.
Wenn Du auf dieses ETWAS von Typ String die String-Methoden anwendest oder nach String-Eigenschaften abfragst, dann packt JS die Daten temporär in ein anonymes Objekt, führt die Methode aus und vergisst das dafür angelegte Objekt gleich wieder. Davon sieht man freilich nichts, der Vorgang ist völlig transparent.
> Und console.log( typeof String('asdf') ); zeigt string
Ja. Klar. Aber eben nicht "object".