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)

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:

JS
'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:

JS
'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
JS
console.log('riga 1\nriga 2');
// riga 1
// riga 2

Template literal: la sintaxis que querrás usar por defecto

Los backticks activan dos cosas imposibles con los otros delimitadores:

  1. Cadenas multilínea sin escape: se permiten saltos de línea literales.
  2. Interpolación: dentro de ${ … } puedes insertar cualquier expresión JS y su valor se añade al resultado.
JS
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):

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

Pruébalo tú mismo

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

Dados `name = 'Luca'` y `age = 30`, compone con un template literal la cadena 'Luca ha 30 anni.' (exactamente este texto) como última expresión.

Cargando editor...
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

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

Dados dos precios `p1 = 7.5` y `p2 = 3.20`, devuelve como última expresión la cadena 'Totale: 10.7 euro'.

Cargando editor...
Mostrar pista

Dentro de ${...} puedes poner cualquier expresión, incluso p1 + p2.

Solución disponible después de 3 intentos