Fondamenta8 min
Template Literals
Stringhe multi-riga, interpolazione di espressioni e tagged templates in JavaScript moderno.
Template Literals
I template literals (o template strings) sono una funzionalità introdotta con ES6 che rende il lavoro con le stringhe molto più leggibile e potente.
Sintassi base
Si usano i backtick invece delle virgolette:
javascript
const nome = "Giulia";
const messaggio = \`Ciao, \${nome}! Benvenuta.\`;
// "Ciao, Giulia! Benvenuta."Interpolazione di espressioni
Dentro \${} puoi inserire qualsiasi espressione JavaScript valida:
javascript
const prezzo = 49.99;
const quantita = 3;
const totale = \`Totale: €\${(prezzo * quantita).toFixed(2)}\`;
// "Totale: €149.97"Stringhe multi-riga
Con i template literals non servono più i caratteri di escape per andare a capo:
javascript
const html = \`
<div class="card">
<h2>\${titolo}</h2>
<p>\${descrizione}</p>
</div>
\`;Questo è particolarmente utile per generare HTML dinamico o comporre query.
Tagged templates
Una funzionalità avanzata: puoi "taggare" un template literal con una funzione che ne elabora i pezzi:
javascript
function evidenzia(stringhe, ...valori) {
return stringhe.reduce((risultato, str, i) => {
const valore = valori[i] ? \`<strong>\${valori[i]}</strong>\` : "";
return risultato + str + valore;
}, "");
}
const output = evidenzia\`Ordine di \${nome}: \${quantita} pezzi\`;I tagged templates sono usati da librerie come styled-components e GraphQL.