Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

Function.prototype.toString()

La méthode toString() renvoie une chaîne de caractères représentant le code source de la fonction.

Syntaxe

function.toString(indentation)

Valeur de retour

Une chaîne de caractères qui représente le code source de la fonction.

Description

L'objet Function surcharge la méthode toString de l'objet Object ; il n'hérite donc pas de Object.prototype.toString. Pour les objets Function, la méthode toString renvoie une chaîne de caractères représentant l'objet sous la forme d'une déclaration de fonction. Pour ce faire, toString décompile la fonction pour renvoyer une chaîne qui contient le mot-clé function, la liste des arguments, les accolades et la source correspondant au corps de la fonction.

Le moteur JavaScript appelle la méthode toString automatiquement lorsqu'un objet Function doit être représenté textuellement (par exemple lorsqu'une fonction doit être concaténée avec une chaîne de caractères).

La méthode toString() lèvera une exception TypeError (« Function.prototype.toString called on incompatible object ») si la valeur this n'est pas un objet Function. Ceci ne fonctionnera pas non plus avec les objets Proxy.

Function.prototype.toString.call("toto"); // TypeError

var proxy = new Proxy(function() {}, {});
Function.prototype.toString.call(proxy); // TypeError

Spécifications

Spécification État Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
La définition de 'Function.prototype.toString' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Function.prototype.toString' dans cette spécification.
Standard Critères supplémentaires ajoutés sur la représentation de la chaîne.
ECMAScript 2017 Draft (ECMA-262)
La définition de 'Function.prototype.toString' dans cette spécification.
Projet  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

Notes spécifiques à Gecko

  • À partir de Gecko 17.0 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14), Function.prototype.toString() a été implémenté en sauvegardant le code source de la fonction. La méthode utilisant la décompilation a été retirée et le paramètre indentation n'est donc plus nécessaire. Pour plus d'informations, voir bug 761723.
  • À partir de Gecko 38 (Firefox 38 / Thunderbird 38 / SeaMonkey 2.35), Function.prototype.toString() lève une exception pour les Proxy (cf. bug 1100936).

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, teoli, Jeremie, BenoitL
 Dernière mise à jour par : SphinxKnight,