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

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

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

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

BCD tables only load in the browser