You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!
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.
Description
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"
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
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)"
Examples
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()"
Specifications
Not part of any specification.
Browser compatibility
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
displayName | Chrome ? | Edge No support No | Firefox Full support 13 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android Full support 14 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? | nodejs ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.