"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Pueden los literales de plantilla de ES6 ser verdaderamente reutilizables?

¿Pueden los literales de plantilla de ES6 ser verdaderamente reutilizables?

Publicado el 2024-11-08
Navegar:619

Can ES6 Template Literals be Truly Reusable?

El enigma de la reutilización en los literales de plantilla de ES6

La principal preocupación planteada en esta discusión gira en torno a la presunta falta de reutilización en los literales de plantilla de ES6. Las demostraciones convencionales enfatizan las sustituciones en el momento de la declaración, lo que no permite la modificación del tiempo de ejecución.

Solución: aprovechar el constructor de funciones

Para abordar este problema, surge una solución viable en forma de Constructor de funciones. Este enfoque implica convertir la cadena de plantilla en una función.

Considere el siguiente fragmento:

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));

Al invocar esta función, puede generar la cadena deseada y al mismo tiempo poseer la flexibilidad de modificar variables en tiempo de ejecución.

Beneficios de este enfoque:

  • Permite la sustitución de valores de plantilla en tiempo de ejecución
  • Facilita la interpolación de fuentes externas, como archivos
  • Permite la manipulación dinámica de cadenas

Posibles inconvenientes:

  • Las etiquetas de plantilla pueden requerir etiquetas adicionales esfuerzo de implementación
  • La lógica de JavaScript en línea dentro de las plantillas no es compatible debido a una interpolación tardía
  • Sobrecarga de memoria asociada con la creación de funciones para cada plantilla utilizar

En resumen, si bien los literales de plantilla de ES6 carecen inherentemente de verdadera reutilización, emplear el constructor de funciones ofrece una solución alternativa que emula el comportamiento deseado de creación y modificación de plantillas en tiempo de ejecución.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3