Array.prototype.toString()
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.
Die toString()
Methode von Array
Instanzen gibt einen String zurück, der das angegebene Array und seine Elemente darstellt.
Probieren Sie es aus
const array1 = [1, 2, "a", "1a"];
console.log(array1.toString());
// Expected output: "1,2,a,1a"
Syntax
toString()
Parameter
Keine.
Rückgabewert
Ein String, der die Elemente des Arrays repräsentiert.
Beschreibung
Das Array
Objekt überschreibt die toString
Methode von Object
. Die toString
Methode von Arrays ruft intern join()
auf, welches das Array zusammenfügt und einen String zurückgibt, der jedes Array-Element durch Kommas getrennt enthält. Wenn die join
Methode nicht verfügbar ist oder keine Funktion ist, wird stattdessen Object.prototype.toString
verwendet, was [object Array]
zurückgibt.
const arr = [];
arr.join = 1; // re-assign `join` with a non-function
console.log(arr.toString()); // [object Array]
console.log(Array.prototype.toString.call({ join: () => 1 })); // 1
JavaScript ruft die toString
Methode automatisch auf, wenn ein Array als Textwert dargestellt werden soll oder wenn auf ein Array in einer Zeichenfolgenkonkatenation verwiesen wird.
Array.prototype.toString
konvertiert rekursiv jedes Element, einschließlich anderer Arrays, in Strings. Da der von Array.prototype.toString
zurückgegebene String keine Trennzeichen enthält, erscheinen geschachtelte Arrays als wären sie abgeflacht.
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
console.log(matrix.toString()); // 1,2,3,4,5,6,7,8,9
Wenn ein Array zyklisch ist (es ein Element enthält, das es selbst ist), vermeiden Browser eine unendliche Rekursion, indem sie die zyklische Referenz ignorieren.
const arr = [];
arr.push(1, [3, arr, 4], 2);
console.log(arr.toString()); // 1,3,,4,2
Beispiele
Verwendung von toString()
const array1 = [1, 2, "a", "1a"];
console.log(array1.toString()); // "1,2,a,1a"
Verwendung von toString() auf spärlichen Arrays
In Übereinstimmung mit dem Verhalten von join()
, behandelt toString()
leere Stellen genauso wie undefined
und erzeugt einen zusätzlichen Separator:
console.log([1, , 3].toString()); // '1,,3'
Aufrufe von toString() auf Objekten, die keine Arrays sind
toString()
ist generisch. Es erwartet, dass this
eine join()
Methode hat; andernfalls verwendet es Object.prototype.toString()
.
console.log(Array.prototype.toString.call({ join: () => 1 }));
// 1; a number
console.log(Array.prototype.toString.call({ join: () => undefined }));
// undefined
console.log(Array.prototype.toString.call({ join: "not function" }));
// "[object Object]"
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.prototype.tostring |