Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

No estándar
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The function.displayName property returns the display name of the function.

Description

Cuando se define la propiedad displayName , retorna un mensaje con el nombre para mostrar en una función:

function doSomething() {}

console.log(doSomething.displayName); // "undefined"

var popup = function(content) { console.log(content); };

popup.displayName = 'Show Popup';

console.log(popup.displayName); // "Show Popup"

Tu puedes definir una funcion con un nombre a mostrar en un function expression:

var object = {
  someMethod: function() {}
};

object.someMethod.displayName = 'someMethod';

console.log(object.someMethod.displayName); // logs "someMethod"

try { someMethod } catch(e) { console.log(e); }
// ReferenceError: someMethod is not defined

Puedes cambiar dinámicamente el displayName de una función:

var object = {
  // anonymous
  someMethod: function(value) {
    arguments.callee.displayName = 'someMethod (' + value + ')';
  }
};

console.log(object.someMethod.displayName); // "undefined"

object.someMethod('123')
console.log(object.someMethod.displayName); // "someMethod (123)"

Ejemplos

Normalmente, se prefiere por consolas y profilers sobre func.name a mostrar el nombre de una función.

Al ingresar lo siguiente en una consola, debería mostrarse como algo así como "function My Function()":

var a = function() {};
a.displayName = 'My Function';

a; // "function My Function()"

Specifications

Not part of any specification.

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Soporte básico
No estándar
Chrome ? Edge ? Firefox Soporte completo 13IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Soporte completo 14Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

Leyenda

Soporte completo  
Soporte completo
Compatibility unknown  
Compatibility unknown
No estandar . Esperar poco soporte entre navegadores.
No estandar . Esperar poco soporte entre navegadores.

 

Etiquetas y colaboradores del documento

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