Function.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.

* Some parts of this feature may have varying levels of support.

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

Exemple interactif

function sum(a, b) {
  return a + b;
}

console.log(sum.toString());
// Expected output: "function sum(a, b) {
//                     return a + b;
//                   }"

console.log(Math.abs.toString());
// Expected output: "function abs() { [native code] }"

Syntaxe

js
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 redéfinit 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.

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

Si la méthode toString() est appelée sur des fonctions natives qui ne sont pas définies dans le script, toString() renvoie une chaîne de caractères indiquant le caractère natif :

js
Math.abs.toString();

"function abs() {
    [native code]
}"

Si la méthode toString() est appelée sur une fonction créée avec le constructeur Function, toString() renverra le code source d'une fonction intitulée anonymous et utilisera les paramètres et le corps de la fonction fournis.

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-function.prototype.tostring

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
toString
Implements Function.prototype.toString revision

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Voir aussi