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 eine Zeichenkette zurück, die das angegebene Array und seine Elemente repräsentiert.
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
Eine Zeichenkette, die 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, das das Array verbindet und eine Zeichenkette zurückgibt, die jedes Array-Element durch Kommas getrennt enthält. Sollte die join
Methode nicht verfügbar sein oder keine Funktion sein, wird Object.prototype.toString
anstelle dessen 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 Zeichenkettenverkettung verwiesen wird.
Array.prototype.toString
konvertiert rekursiv jedes Element, einschließlich anderer Arrays, in Zeichenketten. Da die von Array.prototype.toString
zurückgegebene Zeichenkette keine Trennzeichen hat, sehen verschachtelte Arrays aus, als wären sie flach dargestellt.
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 enthält ein Element, das es selbst ist), vermeiden Browser unendliche Rekursion, indem sie den zyklischen Verweis 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
Entsprechend dem Verhalten von join()
behandelt toString()
leere Slots genauso wie undefined
und erzeugt einen zusätzlichen Trenner:
console.log([1, , 3].toString()); // '1,,3'
Aufruf von toString() bei Nicht-Array Objekten
toString()
ist generisch. Es erwartet, dass this
eine join()
Methode hat; andernfalls wird Object.prototype.toString()
verwendet.
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® 2025 Language Specification # sec-array.prototype.tostring |