`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. Wenn er als Funktion aufgerufen wird, gibt er primitive Werte vom Typ String zurück.
Syntax
new String(thing)
String(thing)
Note:
String()
kann mit oder ohnenew
aufgerufen werden, hat jedoch unterschiedliche Effekte. Siehe Rückgabewert.
Parameter
thing
-
Alles, was in eine Zeichenkette umgewandelt werden soll.
Rückgabewert
Wenn String()
als Funktion (ohne new
) aufgerufen wird, gibt es den value
in einen primitiven Zeichenkettentyp gezwungen zurück. Insbesondere werden Symbol Werte in "Symbol(description)"
umgewandelt, wobei description
die Beschreibung des Symbols ist, anstatt eine Ausnahme zu werfen.
Wenn String()
als Konstruktor (mit new
) aufgerufen wird, wird value
in einen primitiven Zeichenkettentyp gezwungen (ohne spezielle Symbolbehandlung) und ein umhüllendes String
Objekt zurückgegeben, das kein primitiver Typ ist.
Warnung:
Sie sollten selten den String
als Konstruktor verwenden.
Beispiele
String-Konstruktor und String-Funktion
Die String-Funktion und der String-Konstruktor liefern 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 produziert die Funktion eine Zeichenkette (den primitiven Typ), wie versprochen. Der Konstruktor dagegen erzeugt eine Instanz vom Typ String (ein Objekt-Wrapper), und deshalb sollten Sie den String-Konstruktor selten verwenden.
Verwendung von String()
, um ein Symbol zu stringifizieren
String()
ist der einzige Fall, bei dem ein Symbol ohne Fehlermeldung in eine Zeichenkette umgewandelt werden kann, 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 Language Specification # sec-string-constructor |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Zahlen und Zeichenketten Leitfaden