Non standard
Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.
La propriété function.displayName
renvoie le nom affiché de la fonction.
Description
Lorsque la propriété displayName
est définie, elle renvoie le nom affiché de la fonction :
function faireTruc() { } console.log(faireTruc.displayName); // "undefined" var logMessage = function(contenu) { console.log(contenu) }; logMessage.displayName = 'Afficher les messages dans le journal'; console.log(logMessage.displayName); // "Afficher les messages dans le journal"
Il est possible de définir une fonction avec un nom d'affichage grâce à une expression de fonctions:
var objet = { uneMéthode: function () {} }; objet.uneMéthode.displayName = 'uneMéthode'; console.log(objet.uneMéthode.displayName); // "uneMéthode" try { uneMéthode } catch(e) { console.log(e); } // ReferenceError: uneMéthode is not defined
La propriété displayName
peut être changée dynamiquement :
var objet = { // anonyme uneMéthode: function(valeur) { this.displayName = "uneMéthode (" + valeur + ")"; } }; console.log(objet.uneMéthode.displayName); // "undefined" objet.uneMéthode("123") console.log(objet.uneMéthode.displayName); // "uneMéthode (123)"
Exemples
On souhaite généralement utiliser cette propriété dans les consoles et profileurs plutôt que func.name
Le code suivant devrait afficher quelque chose comme "function Ma Fonction()":
var a = function () { }; a.displayName = 'Ma Fonction'; a
Spécifications
N'appartient à aucune spécification.
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | ? | 13 (13) | ? | ? | ? |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | ? | ? | ? | ? | ? | ? |