Web/JavaScript/Reference/Global objects/Function/displayName

From Get docs

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.


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

Examples

Setting a displayName

It is usually preferred by consoles and profilers over func.name to display the name of a function.

By entering the following in a console, it should display as something like "function My Function()":

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

a; // "function My Function()"

When defined, the displayName property returns the display name of a function:

function doSomething() {}

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

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

popup.displayName = 'Show Popup';

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

Defining a displayName in function expressions

You can define a function with a display name in a 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

Changing displayName dynamically

You can dynamically change the displayName of a function:

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

Specifications

Not part of any standard.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js

displayName

Non-standard'

Chrome

No support No

Edge

No support No

Firefox

Full support 13

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

No support No

Chrome Android

No support No

Firefox Android

Full support 14

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

No support No

nodejs

No support No

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.


See also