In JavaScript, le stringhe interpolate permettono di incorporare espressioni all'interno delle stringhe, una tecnica nota anche come interpolazione di stringhe.
Questa funzionalità estende le capacità dell'oggetto globale String predefinito.
In JavaScript puoi creare stringhe interpolate racchiudendo il testo tra backtick. Non solo permettono al testo di includere a capo ed altri caratteri speciali, ma consentono anche di incorporare variabili ed altre espressioni.
const num1 = 1;
const num2 = 2;
`Adding ${num1} and ${num2} gives ${num1 + num2}.`;
// => Adding 1 and 2 gives 3.
Nell'esempio qui sopra, i backtick (``) servono a rappresentare una stringa interpolata. Il ${...} è il segnaposto che si usa per la sostituzione.
Tutti i tipi che non sono stringhe vengono convertiti implicitamente in stringhe.
Questo argomento è trattato nel concetto conversione di tipo.
Con le stringhe interpolate si possono usare tutti i tipi di espressione.
const track = 'JavaScript';
`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.
Quando hai bisogno di formattare una stringa su più righe:
`This is an example of using template
strings to accomplish multiple
lines`;
Grazie alla possibilità di sostituire i valori, puoi anche introdurre della logica nel processo per determinare quale debba essere la stringa di output.
Un modo per gestire la logica è usare l'operatore ternario.
In questo modo ottieni la stessa funzionalità condizionale di if/else, in un formato leggermente diverso.
Per introdurre della logica nella sintassi delle stringhe interpolate:
const grade = 95;
`You have ${grade > 90 ? 'passed' : 'failed'} the exam.`;
// => You have passed the exam.