String() Konstruktor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Der String()
Konstruktor erstellt String
Objekte. Wird er als Funktion aufgerufen, gibt er primitive Werte des Typs String zurück.
Syntax
new String(thing)
String(thing)
Hinweis:>String()
kann mit oder ohne new
aufgerufen werden, jedoch mit unterschiedlichen Effekten. Siehe Rückgabewert.
Parameter
thing
-
Alles, was in einen String umgewandelt werden soll.
Rückgabewert
Wenn String()
als Funktion (ohne new
) aufgerufen wird, gibt er value
in einen String-Primärdatentyp umgewandelt zurück. Insbesondere werden Symbol-Werte in "Symbol(description)"
umgewandelt, wobei description
die Beschreibung des Symbols ist, anstatt einen Fehler zu werfen.
Wenn String()
als Konstruktor (mit new
) aufgerufen wird, wird value
in einen String-Primärdatentyp umgewandelt (ohne spezielle Symbolbehandlung) und ein umhüllendes String
Objekt zurückgegeben, welches kein Primärdatentyp ist.
Warnung:
Sie sollten String
selten als Konstruktor verwenden.
Beispiele
String-Konstruktor und String-Funktion
String-Funktion und String-Konstruktor erzeugen unterschiedliche Ergebnisse:
const a = new String("Hello world"); // a === "Hello world" is false
const b = String("Hello world"); // b === "Hello world" is true
a instanceof String; // is true
b instanceof String; // is false
typeof a; // "object"
typeof b; // "string"
Hier erzeugt die Funktion einen String (den primären Typ) wie versprochen. Der Konstruktor erzeugt jedoch eine Instanz des Typs String (ein Objekt-Wrapper) und deshalb wollen Sie den String-Konstruktor in der Regel gar nicht verwenden.
Verwendung von String(), um ein Symbol zu stringifizieren
String()
ist der einzige Fall, bei dem ein Symbol in einen String umgewandelt werden kann, ohne einen Fehler zu werfen, da es sehr explizit ist.
const sym = Symbol("example");
`${sym}`; // TypeError: Cannot convert a Symbol value to a string
"" + sym; // TypeError: Cannot convert a Symbol value to a string
"".concat(sym); // TypeError: Cannot convert a Symbol value to a string
const sym = Symbol("example");
String(sym); // "Symbol(example)"
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-string-constructor |
Browser-Kompatibilität
Siehe auch
- Zahlen und Strings Leitfaden