Non-standard
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.

A propriedade function.displayName retorna o nome de exibição da função.

Descrição

Quando definida, a propriedade displayName retorna o nome de exibição da função.

function doSomething() {}

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

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

popup.displayName = 'Show Popup';

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

Você pode definir uma função com uma nome de exibição em um 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

Você pode mudar dinamicamente odisplayName de uma função:

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)"

Exemplos

Geralmente, é preferida por consoles e perfis em vez de  func.name mostrar o nome de uma função.

Entrando com o seguinte em um console, isso deverá mostrar algo como  "function My Function()":

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

a; // "function My Function()"

Especificações

Não faz parte de denhuma especificação.

Compatibilidade de Navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic support
Non-standard
Chrome ? Edge ? Firefox Full support 13IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Full support 14Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

Etiquetas do documento e colaboradores

Colaboradores desta página: alinedmelo
Última atualização por: alinedmelo,