Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. Function
  6. Function.prototype.toString()

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

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 ⁨julho de 2015⁩.

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

O métodotoString() retorna uma string representando o código fonte da função.

Experimente

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] }"

Sintaxe

function.toString()

Valor de retorno

Uma string representando o código fonte da função.

Descrição

O objeto daFunction substitui o métodotoString herdado deObject; ele não herdaObject.prototype.toString. Para objetosFunction definidos pelo usuário, o métodotoString retorna uma string contendo o seguimento de texto de origem que foi usado para definir a função

O JavaScript chama o métodotoString automaticamente quando umaFunction pode ser representada como um valor de texto. e.x. quando uma função é concatenada com uma string.

O métodotoString() lançará uma exceção do tipoTypeError ("Function.prototype.toString called on incompatible object") se o valorthis do objeto não é um objeto do tipoFunction.

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

Se o métodotoString() é chamado por objetos de funções embutidas ou por uma função criada porFunction.prototype.bind,toString() retorna uma string de uma função nativa que parece

js
"function () {\n    [native code]\n}";

Se o métodotoString() é chamado por uma função criada pelo contrutor deFunction,toString() retorna o código fonte de uma declaração de função sintetizada chamada "anonymous" usando os parâmetros passados e o corpo da função.

Exemplos

FunçãoFunction.prototype.toString resultado
function f(){}
"function f(){}"
class A { a(){} }
"class A { a(){} }"
function* g(){}
"function* g(){}"
a => a
"a => a"
({ a(){} }.a)
"a(){}"
({ *a(){} }.a)
"*a(){}"
({ [0](){} }[0])
"[0](){}"
Object.getOwnPropertyDescriptor({    get a(){}}, "a").get
"get a(){}"
Object.getOwnPropertyDescriptor({    set a(x){}}, "a").set
"set a(x){}"
Function.prototype.toString
"function toString() { [native code] }"
(function f(){}.bind(0))
"function () { [native code] }"
Function("a", "b")
"function anonymous(a\n) {\nb\n}"

Especificações

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

Compatibilidade com navegadores

Notas específicas do Firefox

  • Desde o Firefox 17 a funçãoFunction.prototype.toString() tem sido implementada salvando o fonte da função. O descompilador foi removido o que torna o parâmetroindentation desnecessário. VejaErro do Firefox 761723 para mais detalhes.
  • Do Firefox 38 para o 63 a funçãoFunction.prototype.toString() lançava exceções para objetosProxy (Erro do Firefox 1100936 eErro do Firefox 1440468).

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp