Saltar al contenido principal
eLearner.app
Módulo 2 · Lección 1 de 45/32 en el curso~8 min
Lecciones del módulo (1/4)

Stringhe e template literal

Le stringhe sono sequenze di caratteri. In JavaScript le puoi delimitare in tre modi, tutti equivalenti per il motore — ma con un superpotere riservato ai backtick:

JS
'apici singoli';
'apici doppi';
`backtick — i template literal`;

Apici singoli e doppi sono intercambiabili: usa quello che ti permette di non dover fare escape nel testo che contiene l'altro carattere:

JS
'L\'isola'; // l'apostrofo richiede escape
"L'isola"; // qui no
"Lui disse \"ciao\"";
'Lui disse "ciao"';

Caratteri di escape

Dentro qualsiasi stringa puoi inserire caratteri "non stampabili" con la backslash:

  • \n — a capo
  • \t — tabulazione
  • \\ — una backslash letterale
  • \' / \" — apice singolo / doppio letterale
JS
console.log('riga 1\nriga 2');
// riga 1
// riga 2

Template literal: la sintassi che vuoi usare di default

I backtick sbloccano due cose impossibili con gli altri delimitatori:

  1. Stringhe multilinea senza escape: a capo letterali sono permessi.
  2. Interpolazione: dentro ${ … } puoi inserire qualsiasi espressione JS e il suo valore viene incollato nel risultato.
JS
const nome = 'Anna';
const eta = 28;

const messaggio = `Ciao ${nome}, hai ${eta} anni.
Fra un anno ne avrai ${eta + 1}.`;

L'espressione dentro ${ … } non deve essere un nome semplice: può essere qualunque cosa che produca un valore, comprese chiamate a funzione e operatori.

Concatenazione con +

Storicamente le stringhe si componevano con +. Funziona ancora, ed è utile in rari casi (es. costruire una stringa in più passi):

JS
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'

Prova tu

Ejercicio#js.m2.l1.e1
Intentos: 0Cargando...

Dati `name = 'Luca'` ed `age = 30`, componi con un template literal la stringa 'Luca ha 30 anni.' (esattamente questo testo) come ultima espressione.

Cargando editor...
Mostrar pista

Usa i backtick e l'interpolazione ${...} per inserire i valori dentro la stringa.

Solución disponible después de 3 intentos

Esercizio di ripasso

Ejercicio#js.m2.l1.e2
Intentos: 0Cargando...

Dati due prezzi `p1 = 7.5` e `p2 = 3.20`, restituisci come ultima espressione la stringa 'Totale: 10.7 euro'.

Cargando editor...
Mostrar pista

Dentro ${...} puoi mettere qualsiasi espressione, anche p1 + p2.

Solución disponible después de 3 intentos