ursus contionabundo: Cast: String oder new String

Beitrag lesen

return new String(str)

Gibt das fürchterlich komplizierte Objekt vom Typ String zurück.

return String(str)

Gibt etwas vom krass einfachen Datentyp String zurück. Du kannst Dich mit

console.log(typeof(new String(5.3)));
console.log(typeof(String(5.3)));

überzeugen:

object
string

Der Datentyp "string" ist ein primitiver Datentyp. Er hat keine Methoden, ist nur ein Zeiger auf einen Speicherbereich mit raw-Daten und bietet einen schnellen wahlfreien Zugriff.

Wird auf den primitiven String eine der Methoden oder Eigenschaftsabfragen des Objekts String angewendet, dann wrappt (boxt, ummmantelt) JS zur Laufzeit die Daten in ein Objekt.

Richtig interessant ist übrigens:

console.log( typeof( new String(5.3) ) );
console.log( typeof( new String(5.3).replace('.', ',') ) ) ;

Ups:

object
string

Das JS als Ergebnis der Anwendung einer Methode auf ein String-Objekt einen String (und nicht das Objekt) zurückliefert sollte Dir zu denken geben. Etwas anderes kann gelten, wenn Du unbedingt ein Objekt brauchst:

o = new String(5.3);
o.foo = 'bar';
console.log(o);

Das dürfte aber eher selten sein.

Noch was:

String.prototype.decToGerman = function() {
    return this.replace('.', ',');
}
o = new String(5.3);
console.log( o.decToGerman() );
o = String(5.3);
console.log( o.decToGerman() );

(Achte auf die Kommas)

5,3
5,3

Ich denke, die Entscheidung fällt jetzt leicht.

0 69

Cast: String oder new String

pl
  • javascript
  1. 0
    dedlfix
    1. 0
      pl
    2. 0
      Rolf B
      1. 0
        pl
        1. 1
          dedlfix
          1. 0
            pl
            1. 0
              dedlfix
              1. 0
                pl
          2. 0
            Rolf B
            1. 0
              dedlfix
              1. 0
                Rolf B
                1. 1
                  dedlfix
                2. 0
                  1unitedpower
        2. 0
          1unitedpower
          • javascript
          • typescript
          1. 0
            pl
  2. 0
    ursus contionabundo
    1. 0
      dedlfix
      1. 0
        ursus contionabundo
    2. 0
      pl
      1. 0
        ursus contionabundo
        1. 0
          pl
          1. 0
            ursus contionabundo
            1. 0
              pl
              1. 0

                Ganz unverblümt...

                ursus contionabundo
                • meinung
                1. 0
                  pl
                  1. 0
                    ursus contionabundo
                    1. -2
                      pl
                      1. -1
                        ursus contionabundo
                        1. 0
                          Felix Riesterer
                          1. 0

                            Frage immer noch offen!

                            pl
                            1. 0
                              dedlfix
                              1. 0
                                pl
                                • javascript
                                1. 0
                                  Felix Riesterer
                                  1. 0
                                    pl
                                2. 1
                                  dedlfix
                                  1. 0
                                    pl
                                    1. 0
                                      dedlfix
                                      1. 0
                                        pl
                          2. -1
                            pl
                            1. 0
                              Felix Riesterer
                              1. -1
                                pl
                                • zu diesem forum
                                1. 0
                                  Gunnar Bittersmann
                                  • meinung
                                  1. 1
                                    dedlfix
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        dedlfix
                                        1. 0
                                          Tabellenkalk
                                          1. 0
                                            Gunnar Bittersmann
                                            • logik
                                        2. 0
                                          Gunnar Bittersmann
                                          • logik
                                          1. 0
                                            dedlfix
                                            • meinung
                                            1. 0
                                              MudGuard
                                            2. 0
                                              Gunnar Bittersmann
                                      2. 1
                                        JürgenB
                                        1. 0
                                          Felix Riesterer
                                          1. 0
                                            Gunnar Bittersmann
                                    2. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Tabellenkalk
                                        1. 0
                                          Gunnar Bittersmann
                                          1. 0
                                            Rolf B
                                    3. 0
                                      Orlok
                                      • mathematik
                                  2. 0
                                    Gunnar Bittersmann
                                    • musik
                            2. 0
                              Gunnar Bittersmann
                              • meinung
                              • zu diesem forum
                            3. 0
                              ursus contionabundo
                              1. 0

                                (Ergänzung)

                                ursus contionabundo
                                1. 0
                                  Rolf B
                                  1. 0
                                    ursus contionabundo
                                2. 0
                                  Rolf B
                                  • meinung
                                  • performance
                                  1. 0
                                    ursus contionabundo
                                    1. 0
                                      Rolf B
                                      • humor
                                      • meinung