HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
View in English Always switch to English
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode toString() des instances de Array retourne une chaîne de caractères représentant le tableau défini et ses éléments.
toString()
Array
const array1 = [1, 2, "a", "1a"]; console.log(array1.toString()); // Résultat attendu : "1,2,a,1a"
Aucun.
Une chaîne de caractères qui représente les éléments du tableau.
L'objet Array redéfinit la méthode toString de Object. La méthode toString des tableaux appelle en interne la méthode join(), qui concatène les éléments du tableau et retourne une chaîne de caractères contenant chaque élément séparé par des virgules. Si la méthode join n'est pas disponible ou n'est pas une fonction, Object.prototype.toString est utilisée à la place, retournant [object Array].
toString
Object
join()
join
Object.prototype.toString
[object Array]
const arr = []; arr.join = 1; // réassigne `join` avec une valeur qui n'est pas une fonction console.log(arr.toString()); // [object Array] console.log(Array.prototype.toString.call({ join: () => 1 })); // 1
JavaScript appelle automatiquement la méthode toString lorsqu'un tableau doit être représenté sous forme de valeur texte ou lorsqu'un tableau est utilisé dans une concaténation de chaînes de caractères.
Array.prototype.toString convertit récursivement chaque élément, y compris les autres tableaux, en chaînes de caractères. Comme la chaîne retournée par Array.prototype.toString ne contient pas de délimiteurs pour les sous-tableaux, les tableaux imbriqués semblent être aplanis.
Array.prototype.toString
const matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ]; console.log(matrix.toString()); // 1,2,3,4,5,6,7,8,9
Lorsqu'un tableau est cyclique (il contient un élément qui est lui-même), les navigateurs évitent la récursion infinie en ignorant la référence cyclique.
const arr = []; arr.push(1, [3, arr, 4], 2); console.log(arr.toString()); // 1,3,,4,2
const array = [1, 2, "a", "1a"]; console.log(array.toString()); // "1,2,a,1a"
Comme pour le comportement de join(), toString() traite les cases vides comme undefined et produit un séparateur supplémentaire :
undefined
console.log([1, , 3].toString()); // '1,,3'
toString() est générique. Elle attend que this possède une méthode join() ; sinon, elle utilise Object.prototype.toString() à la place.
this
Object.prototype.toString()
console.log(Array.prototype.toString.call({ join: () => 1 })); // 1 : un nombre console.log(Array.prototype.toString.call({ join: () => undefined })); // undefined console.log(Array.prototype.toString.call({ join: "not function" })); // "[object Object]"
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Array.prototype.join()
Array.prototype.toLocaleString()
TypedArray.prototype.toString()
String.prototype.toString()