Maison > Article > interface Web > Comment créer des fonctions avec des noms déterminés par l'exécution en JavaScript (sans évaluation) ?
Création de fonctions avec des noms déterminés par l'exécution (sans évaluation)
En JavaScript, la création de fonctions avec des noms déterminés par l'exécution est réalisable dans ECMAScript 2015 et plus tard, en utilisant deux fonctionnalités clés : les expressions de fonctions anonymes et les propriétés calculées noms.
Solution ES2015 :
Dans ES2015, les expressions de fonction anonymes affectées aux propriétés d'objet héritent du nom de cette propriété. Cela nous permet de :
const dynamicName = "foo" + Math.floor(Math.random() * 1000); const obj = { [dynamicName]() { throw new Error(); }, }; const f = obj[dynamicName]; // Demonstrate function's name property console.log("Function's `name` property: " + f.name); // Exception handling reveals the name in stack traces try { f(); } catch (e) { console.log(e.stack); }
Dans ce code :
Remarque de compatibilité :
Notez que même si tous les navigateurs modernes implémentent la fonctionnalité, Edge et Safari n'affichent pas le nom attribué 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!