Enigma da reutilização em literais de modelo ES6
A principal preocupação levantada nesta discussão gira em torno da suposta falta de reutilização em literais de modelo ES6. As demonstrações convencionais enfatizam as substituições no momento da declaração, não permitindo a modificação do tempo de execução.
Solução: aproveitando o construtor de função
Para resolver esse problema, uma solução viável surge na forma do Construtor de função. Essa abordagem envolve a conversão da string do modelo em uma função.
Considere o seguinte trecho:
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));
Ao invocar esta função, você pode gerar a string desejada enquanto possui a flexibilidade para modificar variáveis em tempo de execução.
Benefícios de esta abordagem:
Possíveis desvantagens:
Em resumo, embora os literais de modelo ES6 inerentemente careçam de verdadeira reutilização, empregar o construtor Function oferece uma solução alternativa que emula o comportamento desejado de criação e modificação de modelos em tempo de execução.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3