Template literals käyttävät backtick-merkkejä (`) ja lisäävät kaksi asiaa, joita tavallisilla lainausmerkeillä ei ole: lausekkeiden interpolointi ja moniriviset merkkijonot.
js
name = ;
count = ;
msg = ;
total = ;
html = ;
Template literals käyttävät backtick-merkkejä (`) ja lisäävät kaksi asiaa, joita tavallisilla lainausmerkeillä ei ole: lausekkeiden interpolointi ja moniriviset merkkijonot.
name = ;
count = ;
msg = ;
total = ;
html = ;
Ennen template literaleja kirjoitit "Hi " + name + ", " + count + ... — pitkäveteinen ja virheille altis. Interpolointi lukee paljon paremmin.
Backtick-merkkien edelle sijoitettu funktio vastaanottaa merkkijonon osat ja interpoloidut arvot, jolloin se voi käsitellä niitä:
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>!"
Tämä antaa voimaa kirjastoille kuten styled-components ja turvallisille SQL/HTML-poistamisen apuohjelmille.
Template literals ovat nykyään vakiomuotoinen tapa rakentaa merkkijonoja — luettava interpolointi, helppo moniriviset tekstit ja koukku (tagged templates) DSL:ille.