Function.displayName

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 para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung InternetNode.js
displayName
No estándar
Chrome ? Edge Sin soporte NoFirefox Soporte completo 13IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Firefox Android Soporte completo 14Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Compatibilidad desconocida  
Compatibilidad desconocida
No estandar . Esperar poco soporte entre navegadores.
No estandar . Esperar poco soporte entre navegadores.