Baseline Widely available
Der String()
-Konstruktor erstellt String
-Objekte. Wird er als Funktion aufgerufen, gibt er primitive Werte vom Typ String zurück.
new String(thing)
String(thing)
Hinweis: String()
kann mit oder ohne new
aufgerufen werden, jedoch mit unterschiedlichen Effekten. Siehe Rückgabewert.
thing
Alles, was in einen String umgewandelt werden soll.
Wenn String()
als Funktion (ohne new
) aufgerufen wird, gibt es value
zurück, in einen String-Primitive zwangsweise umgewandelt. Insbesondere werden Symbol-Werte in "Symbol(description)"
umgewandelt, wobei description
die Beschreibung des Symbols ist, anstelle eines Fehlers.
Wenn String()
als Konstruktor (mit new
) aufgerufen wird, wird value
in ein String-Primitive umgewandelt (ohne spezielle Symbolbehandlung) und gibt ein umhüllendes String
-Objekt zurück, das kein Primitivwert ist.
Warnung: Sie sollten selten den String
-Konstruktor verwenden.
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 einen String (den primitiven Typ), wie versprochen. Der Konstruktor jedoch erzeugt eine Instanz des Typs String (einen Objekt-Wrapper), und deshalb möchten Sie den String-Konstruktor in der Regel überhaupt nicht verwenden.
Verwendung von String() zum Stringifizieren eines SymbolsString()
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 Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4