Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. Object
  6. Object.prototype.toString()

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 EnglishAlways switch to English

Object.prototype.toString()

Baseline Widely available

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éthodetoString() renvoie une chaîne de caractères représentant l'objet.

Exemple interactif

function Dog(name) {  this.name = name;}const dog1 = new Dog("Gabby");Dog.prototype.toString = function dogToString() {  return `${this.name}`;};console.log(dog1.toString());// Expected output: "Gabby"

Syntaxe

js
obj.toString();

Valeur de retour

Une chaîne de caractères représentant l'objet.

Description

Chaque object possède une méthodetoString() qui est appelée de façon automatique à chaque fois que l'objet doit être représenté sous forme de texte ou à chaque fois qu'on utilise un objet et que la valeur attendue est une chaîne de caractères. Par défaut, chaque objet qui descend d'Object hérite de la méthodetoString(). Si cette méthode n'est pas surchargée,toString() renvoie "[objecttype]", oùtype est le type de l'objet. Par exemple :

js
var o = new Object();o.toString(); // renvoie [object Object]

Note :À partir de JavaScript 1.8.5toString(), lorsqu'elle est appelée surnull renvoie[object Null], et lorsqu'elle est appelée surundefined renvoie[object Undefined], ce qui est conforme à ECMAScript 5 et aux errata qui ont suivis. Voir l'exemple ci-aprèsUtilisertoString pour détecter le type d'un objet.

Exemples

Surcharger la méthodetoString() par défaut

Il est possible de surcharger la méthodetoString(). La méthodetoString() ne prend pas d'argument et doit renvoyer une chaîne de caractères. La méthodetoString() peut renvoyer n'importe quelle valeur mais elle sera plus pertinente si elle renvoie des informations sur l'objet courant.

Le code qui suit définit un type d'objetChien et instanciemonChien, qui est de typeChien :

js
function Chien(nom, race, couleur, sexe) {  this.nom = nom;  this.race = race;  this.couleur = couleur;  this.sexe = sexe;}monChien = new Chien("Gabby", "Labrador", "chocolat", "femelle");

Si on appelle la méthodetoString() sur cet objet, on aura le résultat suivant (provenant de la méthode originale, héritée d'Object) :

js
monChien.toString(); // renvoie [object Object]

Dans le code qui suit, on surcharge la méthodetoString() avecchienToString(). Cette méthode produit une chaîne qui contient l'ensemble des propriétés (race, couleur, sexe, nom) de l'objet :

js
Chien.prototype.toString = function chienToString() {  var ret =    "Le chien " +    this.nom +    " est un " +    this.race +    " " +    this.sexe +    " " +    this.couleur;  return ret;};

En utilisant la fonction ci-avant, à chaque fois quemonChien sera utilisé là où on attend une chaîne, le moteur JavaScript appellera automatique la fonctionchienToString() qui renverra la chaîne suivante :

js
Le chien Gabby est un labrador femelle chocolat.

UtilisertoString() pour détecter le type d'un objet

toString() peut être utilisée pour tous les objets afin d'obtenir son type. Pour utiliserObject.prototype.toString() avec n'importe quel objet, il sera nécessaire d'appelerFunction.prototype.call() ouFunction.prototype.apply() (pour éviter les versions surchargées).

js
var toString = Object.prototype.toString;toString.call(new Date()); // [object Date]toString.call(new String()); // [object String]toString.call(Math); // [object Math]// Depuis JavaScript 1.8.5toString.call(undefined); // [object Undefined]toString.call(null); // [object Null]

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-object.prototype.tostring

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp