Création de fonctions avec des noms déterminés par l'exécution sans évaluation
Question :
Est-ce possible pour créer une fonction nommée en JavaScript pur sans utiliser de fonctionnalités d'évaluation ou non standard, où le nom de la fonction est déterminé au moment de l'exécution ?
Réponse (ES6 uniquement) :
Oui, dans ES6 et versions ultérieures (alias "ES2015"), cela est possible en utilisant des expressions de fonction anonymes affectées aux noms de propriétés d'objet calculés.
const dynamicName = "foo" + Math.floor(Math.random() * 1000); const obj = { [dynamicName]() { // ... }, }; const f = obj[dynamicName]; console.log("Function's `name` property: " + f.name); // Outputs "foo###", where ### is a random 1-3 digit number
Dans cet exemple, nous utilisons un nom de propriété calculé pour générer dynamiquement un nom aléatoire pour la fonction. La fonction est affectée à la propriété objet et son nom est accessible via la propriété name. Cependant, notez que la compatibilité des navigateurs peut varier et que certains navigateurs peuvent ne pas afficher le nom de la fonction dynamique dans les traces de pile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!