Skip to Content
Le documentazioni sono in costruzione, puoi utilizzare la navigazione sulla sinistra come roadmap per monitorare i tuoi progressi. Grazie!

Template literals

I Template Literals sono una funzionalità introdotta con ES6 che permette di creare stringhe in modo più leggibile, flessibile e potente rispetto alle stringhe tradizionali. Sono fondamentali nello sviluppo moderno in JavaScript e vengono usati molto anche in React per costruire testi dinamici, classi CSS, template HTML e messaggi.

Si riconoscono perché utilizzano il backtick ( ` ) invece degli apici:

const testo = `Ciao mondo`;

Interpolazione di variabili

Con i template literals puoi inserire variabili o espressioni direttamente nella stringa usando ${}.

const nome = "Marco"; const eta = 30; const messaggio = `Mi chiamo ${nome} e ho ${eta} anni.`;

Senza template literals dovresti usare la concatenazione:

const messaggio = "Mi chiamo " + nome + " e ho " + eta + " anni.";

Con i template literals il codice è più leggibile e meno soggetto a errori.


Espressioni dentro le stringhe

Dentro ${} puoi usare qualsiasi espressione JavaScript:

const a = 5; const b = 3; const risultato = `La somma è ${a + b}`;

Puoi anche chiamare funzioni:

function saluta(nome) { return `Ciao ${nome}!`; } const messaggio = `Messaggio: ${saluta("Luca")}`;

Stringhe multilinea

I template literals permettono di scrivere stringhe su più righe senza caratteri speciali come \n.

const testo = ` Riga 1 Riga 2 Riga 3 `;

Con le stringhe tradizionali sarebbe necessario:

const testo = "Riga 1\nRiga 2\nRiga 3";

Uso con HTML

Sono molto utili per generare markup dinamico:

const nome = "Anna"; const card = ` <div class="card"> <h2>${nome}</h2> <p>Benvenuta!</p> </div> `;

Questo è molto comune quando si lavora con DOM o con framework come React per costruire stringhe dinamiche.


Template literals e condizioni

Puoi usare operatori ternari o logica dentro l’interpolazione:

const isAdmin = true; const ruolo = `Ruolo: ${isAdmin ? "Admin" : "Utente"}`;

Escaping dei caratteri

Se devi usare il backtick all’interno di un template literal, puoi fare l’escape con \:

const testo = `Questo è un \`backtick\``;

Tagged Template Literals (avanzato)

I template literals possono essere taggati, cioè passati a una funzione che riceve le parti della stringa e i valori dinamici.

function tag(strings, value) { return `${strings[0]}${value.toUpperCase()}`; } const nome = "marco"; const testo = tag`Ciao ${nome}`;

Questo meccanismo è usato in librerie come styled-components.


Quando usarli

Usa i template literals quando:

  • Devi costruire stringhe dinamiche
  • Devi scrivere HTML in JavaScript
  • Devi concatenare molte variabili
  • Hai bisogno di stringhe multilinea

Best practice

  • Preferisci i template literals alla concatenazione con +
  • Mantieni le espressioni dentro ${} semplici
  • Non inserire logica complessa direttamente nella stringa

I Template Literals rendono il codice più pulito, leggibile e moderno. Sono uno strumento essenziale nello sviluppo JavaScript e React.

Aggiornato il