Function.displayName

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.

js
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:

js
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:

js
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()":

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

a; // "function My Function()"

Especificações

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

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
displayName
Non-standard

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Non-standard. Check cross-browser support before using.