Literais de modelo no ES6 são frequentemente apontados como ferramentas poderosas de manipulação de texto, mas uma questão incômoda persiste: eles podem realmente ser reutilizados?
Expectativas não cumpridas
À primeira vista, os literais de modelo parecem prometer substituições dinâmicas apenas no momento da declaração. Isso levanta a questão: o que é um modelo que permanece estático?
Quebrando o ciclo
Ao contrário da crença popular, literais de modelo podem ser revigorados com substituições de tempo de execução usando a função construtor como intermediário:
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!
Anatomia de um modelo reutilizável
Esta técnica permite o seguinte:
Abordando advertências
Embora este método ofereça funcionalidade ressuscitada, existem alguns advertências:
Apesar dessas limitações, está claro que com um pouco de engenhosidade, os modelos literais podem transcender seus limites convencionais e se tornarem verdadeiramente reutilizáveis.
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