Czy istnieje sposób programowo skonstruować szablon literał?
Nie "programowo" i "dosłownie" są antytetyczne (poza tym, że jesteś w królestwie kompilatorów).
Ciągi szablonów powinny być lepiej nazwane interpolowane literały ciągów znaków lub więcej. Proszę do not confuse them with templates. Jeśli chcesz używać dynamicznie tworzonych ciągów do szablonów, użyj silnika szablonów do wyboru.
oczywiście literałów szablonu może pomóc w realizacji takich, a może uciec od czegoś prostego jak
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
Nie można bez 'eval', i nie sądzę, że chcesz. Dlaczego po prostu nie użyć łańcucha szablonów? – Bergi
Ponieważ chcę przekazać dynamiczny ciąg znaków, który będzie używany jako szablon. – haim770
@ haim770 Dlaczego ciąg dynamiczny nie może być literałem szablonu? – thefourtheye