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, liefert er primitive Werte des Typs String zurück.
Syntax
new String(thing)
String(thing)
Note:
String()kann mit oder ohnenewaufgerufen werden, jedoch mit unterschiedlichen Effekten. Siehe Rückgabewert.
Parameter
thing-
Beliebiges Objekt, das in einen String umgewandelt werden soll.
Rückgabewert
Wenn String() als Funktion (ohne new) aufgerufen wird, wird value in einen zum String-Primitiv gezwungenen Wert zurückgegeben. Insbesondere werden Symbol-Werte in "Symbol(description)" umgewandelt, wobei description die Beschreibung des Symbols ist, anstatt einen Fehler auszulösen.
Wenn String() als Konstruktor (mit new) aufgerufen wird, wird value in einen String-Primitiv gezwungen (ohne spezielle Symbolbehandlung) und ein umschließendes String Objekt zurückgegeben, das kein Primitiv ist.
Warnung:
Sie sollten selten den String Konstruktor verwenden.
Beispiele
String Konstruktor und String Funktion
Die String-Funktion und der 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 wie versprochen einen String (den primitiven Typ). Der Konstruktor hingegen erzeugt eine Instanz des Typs String (ein Objekt-Wrapper) und daher sollten Sie den String-Konstruktor selten verwenden.
Verwendung von String() zur Stringifizierung eines Symbols
String() ist der einzige Fall, bei dem ein Symbol in einen String umgewandelt werden kann, ohne einen Fehler auszulösen, 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
- Textformatierung Leitfaden