Template literals používají zpětné lomítko (`) a přidávají dvě věci, které zwyklejné uvozovky postrádají: interpolaci výrazů a víceřádkové řetězce.
js
name = ;
count = ;
msg = ;
total = ;
html = ;
Template literals používají zpětné lomítko (`) a přidávají dvě věci, které zwyklejné uvozovky postrádají: interpolaci výrazů a víceřádkové řetězce.
name = ;
count = ;
msg = ;
total = ;
html = ;
Před template literals jste psali "Hi " + name + ", " + count + ... — podrobné a náchylné k chybám. Interpolace se čte mnohem lépe.
Funkce umístěná před zpětnými lomítky obdrží části řetězce a interpolované hodnoty, což jí umožňuje je zpracovat:
function highlight(strings, ...values) {
return strings.reduce((out, s, i) =>
out + s + (values[i] ? `<b>${values[i]}</b>` : ""), "");
}
highlight`Hello ${name}!`; // "Hello <b>Ann</b>!"
To poskytuje energii knihovnám jako styled-components a pomocníkům pro bezpečné SQL/HTML escaping.
Template literals jsou dnes standardní způsob, jak vytvářet řetězce — čitelná interpolace, snadné víceřádkové texty a háček (tagged templates) pro DSLs.