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.

Властивість function.displayName повертає ім'я, що відображається для функції.

Опис

Властивість displayName, якщо вона вказана, повертає ім'я, яке відображається для функції:

function doSomething() {}

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

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

popup.displayName = 'Показати спливаюче вікно';

console.log(popup.displayName); // "Показати спливаюче вікно"

Ви можете визначити функцію з ім'ям, яке відображається, у функціональному виразі:

var object = {
  someMethod: function() {}
};

object.someMethod.displayName = 'someMethod';

console.log(object.someMethod.displayName); // виводить "someMethod"

try { someMethod } catch(e) { console.log(e); }
// ReferenceError: someMethod is not defined

Ви можете динамічно змінювати властивість displayName:

var object = {
  // анонімна
  someMethod: function(value) {
    arguments.callee.displayName = 'мій метод (' + value + ')';
  }
};

console.log(object.someMethod.displayName); // "undefined"

object.someMethod('123')
console.log(object.someMethod.displayName); // "мій метод (123)"

Приклади

Консолі та профайлери зазвичай використовують цю властивість замість func.name для відображення імені функції.

Записавши наведений код у консоль, ви маєте побачити щось на кшталт "function My Function()":

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

a; // "function My Function()"

Специфікації

Не є частиною жодних специфікацій.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
displayName
Non-standard
Chrome No support NoEdge No support NoFirefox Full support 13IE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android No support NoFirefox Android Full support 14Opera Android No support NoSafari iOS ? Samsung Internet Android No support Nonodejs No support No

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.