Maison  >  Article  >  interface Web  >  Les littéraux de modèles peuvent-ils être véritablement réutilisés ?

Les littéraux de modèles peuvent-ils être véritablement réutilisés ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-02 13:02:02848parcourir

Can Template Literals Be Truly Reused?

Les littéraux de modèles : ressusciter la réutilisation

Les littéraux de modèles dans ES6 sont souvent présentés comme de puissants outils de manipulation de texte, mais une question lancinante persiste : peuvent-ils vraiment être réutilisés ?

Attentes insatisfaisantes

À première vue, les littéraux de modèles semblent promettre des substitutions dynamiques uniquement au moment de la déclaration. Cela soulève la question : qu'est-ce qu'un modèle qui reste statique ?

Briser le cycle

Contrairement à la croyance populaire, les littéraux de modèles peuvent être revigorés avec des substitutions d'exécution à l'aide de la fonction Function. constructeur comme intermédiaire :

const template = "Hello ${this.name}!";
const variables = {
  name: "world"
};
function fillTemplate(str, data) {
  return new Function("return `" + str + "`;").call(data);
}
console.log(fillTemplate(template, variables)); // Output: Hello world!

Anatomie d'un gabarit réutilisable

Cette technique permet ce qui suit :

  • Interpolation d'exécution : Les variables sont remplies dynamiquement, comme dans les moteurs de modèles traditionnels.
  • Fragmentation : Les modèles peuvent être stockés dans des fichiers séparés ou obtenus dynamiquement.
  • Création dynamique :Les modèles peuvent être construits et évalués à la volée.

Réponses aux mises en garde

Bien que cette méthode offre des fonctionnalités ressuscitées, il existe quelques mises en garde :

  • JavaScript limité : La logique JavaScript en ligne n'est pas possible en raison d'une interpolation tardive.
  • Balises de modèle : Les balises de modèle deviennent difficile à mettre en œuvre.

Malgré ces limitations, il est clair qu'avec un peu d'ingéniosité, les modèles littéraux peuvent transcender leurs limites conventionnelles et devenir véritablement réutilisables.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn