L'énigme de la réutilisabilité dans les littéraux de modèles ES6
La principale préoccupation soulevée dans cette discussion tourne autour du manque présumé de réutilisabilité dans les littéraux de modèles ES6. Les démonstrations conventionnelles mettent l'accent sur les substitutions au moment de la déclaration, interdisant les modifications à l'exécution.
Solution : exploiter le constructeur de fonction
Pour résoudre ce problème, une solution viable émerge sous la forme du Constructeur de fonctions. Cette approche implique de convertir la chaîne de modèle en fonction.
Considérez l'extrait suivant :
const templateString = `Hello ${this.name}!`;
const templateVars = {
name: "world"
};
const fillTemplate = function(templateString, templateVars){
return new Function("return `" templateString "`;").call(templateVars);
};
console.log(fillTemplate(templateString, templateVars));
En appelant cette fonction, vous pouvez générer la chaîne souhaitée tout en possédant la flexibilité de modifier les variables au moment de l'exécution.
Avantages de cette approche :
Inconvénients potentiels :
En résumé, bien que les littéraux de modèles ES6 manquent intrinsèquement d'une véritable réutilisabilité, l'utilisation du constructeur Function offre une solution de contournement qui émule le comportement souhaité de création et de modification de modèles au moment de l'exécution.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3