Lecciones del módulo (1/4)
Cadenas y plantillas literales
Las cadenas (strings) son secuencias de caracteres. En JavaScript las puedes delimitar de tres maneras, todas equivalentes para el motor, pero con un superpoder reservado a los backticks:
'apici singoli';
'apici doppi';
`backtick — i template literal`;Las comillas simples y dobles son intercambiables: usa la que te permita evitar tener que escapar en el texto que contiene el otro carácter:
'L\'isola'; // l'apostrofo richiede escape
"L'isola"; // qui no
"Lui disse \"ciao\"";
'Lui disse "ciao"';Caracteres de escape
Dentro de cualquier cadena puedes insertar caracteres "no imprimibles" con la barra invertida (backslash):
\n— a capo\t— tabulazione\\— una backslash letterale\'/\"— apice singolo / doppio letterale
console.log('riga 1\nriga 2');
// riga 1
// riga 2Template literal: la sintaxis que querrás usar por defecto
Los backticks activan dos cosas imposibles con los otros delimitadores:
- Cadenas multilínea sin escape: se permiten saltos de línea literales.
- Interpolación: dentro de
${ … }puedes insertar cualquier expresión JS y su valor se añade al resultado.
const nome = 'Anna';
const eta = 28;
const messaggio = `Ciao ${nome}, hai ${eta} anni.
Fra un anno ne avrai ${eta + 1}.`;La expresión dentro de ${ … } no tiene que ser un nombre simple: puede ser
cualquier cosa que produzca un valor, incluidas llamadas a funciones y operadores.
Concatenación con +
Históricamente las cadenas se componían con +. Sigue funcionando y es útil
en casos raros (ej. construir una cadena en varios pasos):
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'Pruébalo tú mismo
Dados `name = 'Luca'` y `age = 30`, compone con un template literal la cadena 'Luca ha 30 anni.' (exactamente este texto) como última expresión.
Mostrar pista
Usa los backticks y la interpolación ${...} para insertar los valores dentro de la cadena.
Solución disponible después de 3 intentos
Ejercicio de repaso
Dados dos precios `p1 = 7.5` y `p2 = 3.20`, devuelve como última expresión la cadena 'Totale: 10.7 euro'.
Mostrar pista
Dentro de ${...} puedes poner cualquier expresión, incluso p1 + p2.
Solución disponible después de 3 intentos