Function.prototype.toString()

El método toString() retorna una cadena representando el código fuente de la función.

Sintaxis

function.toString(indentation)

Parámetros

indentation Obsoleto Gecko 17
La cantidad de espacios a indentar en la representación de cadena del código fuente. Si indentation es menor o igual a -1, la mayoría de los espacios innecesarios son eliminados.

Descripción

El objeto Function reconduce el método toString heredado de  Object; no hereda Object.prototype.toString. Para objetos Function, el método toString retorna una representación de cadena del objeto en forma de declaración de función. Esto es, toString descompila la función y la cadena retornada incluye la palabra clave function, la lista de argumentos, llaves y el código fuente del cuerpo de la función.

JavaScript llama al método toString automáticamente cuando una Function va a ser representada como un valor de texto, p.e. cuando una función es concatenada con un valor de cadena (string).

El método toString() producirá una excepción TypeError ("Function.prototype.toString called on incompatible object"), si el valor de su objeto this no es un objeto Function. Esto también ocurrirá para objetos Proxy, por ejemplo:

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

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

Especificaciones

Especificación Estado Observaciones
ECMAScript 1st Edition (ECMA-262) Standard Definición inicial. Implementado en JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'Function.prototype.toString' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Function.prototype.toString' in that specification.
Standard Añadidos requerimientos más específicos para la representación de cadena.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Function.prototype.toString' in that specification.
Draft  

Compatibilidad con navegadores

Prestación Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Prestación Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Notas específicas para Gecko

  • Desde Gecko 17.0 (Firefox 17 / Thunderbird 17 / SeaMonkey 2.14), Function.prototype.toString() fue implementada salvando el código fuente de la función. El descompilador fue eliminado, de modo que el parámetro indentation ya no se necesita más. Ver bug 761723 para más detalles.
  • A partir de Gecko 38 (Firefox 38 / Thunderbird 38 / SeaMonkey 2.35), Function.prototype.toString() produce error para objetos Proxy  (bug 1100936).

Ver también

Etiquetas y colaboradores del documento

 Colaboradores en esta página: Grijander81
 Última actualización por: Grijander81,