javascript - es6 - ¿Cómo puedo construir una cadena de plantilla a partir de una cadena normal?
template string javascript html (1)
Esta pregunta ya tiene una respuesta aquí:
- Convertir una cadena en una cadena de plantilla 16 respuestas
Así que tengo esta string
:
var name = "Chaim";
var templateStr = "Hello, my name is ${name}";
¿Cómo puedo convertirlo en una cadena de plantilla para que el resultado sea igual a:
var template = `Hello, my name is ${name}`;
¿Hay una manera de construir un literal de plantilla mediante programación?
¿Hay una manera de construir un literal de plantilla mediante programación?
No. "programáticamente" y "literal" son antitéticos (excepto que estás en el reino de los compiladores).
Las cadenas de plantillas deberían haber sido nombradas literales de cadenas interpoladas más o menos. Por favor no los confunda con plantillas . Si desea usar cadenas creadas dinámicamente para plantillas, use un motor de plantillas de su elección.
Por supuesto, los literales de plantilla pueden ayudar con la implementación de los mismos, y puede salirse con la suya con algo tan simple como
function assemble(literal, params) {
return new Function(params, "return `"+literal+"`;"); // TODO: Proper escaping
// ^^^^^^^^ working in real ES6 environments only, of course
}
var template = assemble("Hello, my name is ${name}", "name");
template("Chaim"); // Hello, my name is Chaim