Cadenas y plantillas literales
"5" + 3 da "53", no 8. Cuando un lado de + es una cadena, JavaScript une texto en lugar de sumar números.
El texto en un programa
Los nombres, los mensajes, las direcciones, las contraseñas y páginas web enteras son texto, y JavaScript guarda el texto como cadenas. Una cadena es una secuencia de caracteres entre comillas. JavaScript acepta tres tipos de comillas: dobles "así", simples 'así' y comillas invertidas `así`. Las dos primeras se comportan igual. Las comillas invertidas forman una plantilla literal, que tiene poderes extra que se explican más abajo.
Si tu texto contiene un tipo de comilla, enciérralo con el otro: "It's late" funciona porque el apóstrofo no es una comilla doble. También puedes poner una barra invertida delante de una comilla para decir "esta forma parte del texto": 'It\'s late'. Una barra invertida seguida de n, escrita \n, significa un salto de línea dentro de la cadena.
Longitud y posiciones
Cada cadena sabe cuántos caracteres tiene: "JavaScript".length es 10. Cada carácter también tiene una posición, llamada índice, y la cuenta empieza en 0, no en 1. Así, en "JavaScript" el índice 0 es J, el índice 4 es S y el último índice es 9, uno menos que la longitud. Un carácter suelto se lee con corchetes: word[0]. Empezar desde 0 parece raro al principio, pero la mayoría de los lenguajes de programación cuentan así, y lo volverás a ver con los arreglos.
const word = "JavaScript";
console.log(word.length); // muestra 10
console.log(word[0]); // muestra J
console.log(word[word.length - 1]); // muestra tMétodos útiles de las cadenas
Las cadenas traen herramientas integradas llamadas métodos, que se llaman con un punto después de la cadena. toUpperCase() y toLowerCase() devuelven una copia en mayúsculas o en minúsculas. includes("Script") responde true o false según el texto aparezca dentro o no. slice(0, 4) devuelve los caracteres desde el índice 0 hasta el índice 4, sin incluirlo, que en "JavaScript" es "Java". trim() quita los espacios de los dos extremos, algo práctico para limpiar lo que escribió una persona. Ninguno de estos métodos cambia la cadena original. En JavaScript las cadenas no se pueden modificar en su lugar; los métodos siempre devuelven una cadena nueva.
Unir cadenas con +
El operador + une cadenas una detrás de otra, lo que se llama concatenación. "Hello, " + "Mina" da "Hello, Mina". Los espacios no se agregan solos, así que ponlos tú dentro de las comillas. Aquí está la trampa del principio: si cualquiera de los dos lados de + es una cadena, JavaScript convierte el otro lado en cadena y los une. "5" + 3 es "53". Los demás operadores aritméticos no unen texto, así que "5" * 2 convierte "5" en número y da 10. Para convertir en un número de verdad una cadena que contiene dígitos, usa Number("5").
Plantillas literales
Armar una oración con + se complica enseguida: name + " is " + age + " years old." requiere cuidar mucho los espacios y las comillas. Una plantilla literal, escrita con comillas invertidas, te permite meter valores directamente en el texto con ${ }. Lo que va dentro de las llaves se evalúa como una expresión y el resultado se coloca en la cadena. Las plantillas literales también pueden ocupar varias líneas.
const name = "Mina";
const age = 14;
console.log(`${name} is ${age} years old.`); // muestra Mina is 14 years old.
console.log(`Next year: ${age + 1}`); // muestra Next year: 15Ejemplo resuelto. Una etiqueta de tienda debe decir "3 apples cost 4.5". Con const n = 3, price = 1.5;, la plantilla `${n} apples cost ${n * price}` lo hace en una línea, y la multiplicación ocurre dentro de las llaves.
Comillas invertidas alrededor del texto, signo de dólar y llaves alrededor de cada valor: `Hi ${name}`
| string | Texto entre comillas o comillas invertidas |
| índice | Posición de un carácter, contando desde 0 |
| .length | Cuántos caracteres tiene una cadena |
| concatenación | Unir cadenas con + |
| plantilla literal | Una cadena con comillas invertidas y huecos ${ } |
| método | Una herramienta que se llama con un punto: word.toUpperCase() |
| slice(a, b) | Los caracteres desde el índice a hasta b, sin incluir b |
| escape \n | Un salto de línea dentro de una cadena |
- ¿Qué imprime esto?
console.log("5" + 3); - ¿Qué imprime esto?
console.log("5" * 3); - ¿Qué imprime esto?
console.log("cat".length); - ¿Qué imprime esto?
const s = "Seoul"; console.log(s[1]); - ¿Qué imprime esto?
console.log("JavaScript".slice(4, 10)); - ¿Qué imprime esto?
const a = 2; const b = 3; console.log(`${a} + ${b} = ${a + b}`);- 2 + 3 = 5
- ${a} + ${b} = ${a + b}
- 2 + 3 = 23
- ¿Qué imprime esto?
console.log("Hi" + " " + "there".toUpperCase()); - ¿Qué imprime esto?
console.log("banana".includes("nan"));- true
- false
- ¿Qué imprime esto?
console.log(1 + 2 + "3"); - ¿Qué imprime esto?
console.log(Number("7") + 1); - ¿Cuál es el último índice de una cadena de longitud 6?
- Las cadenas usan comillas "dobles", 'simples' o `invertidas`.
- Los índices empiezan en 0; el último índice es length - 1.
- Métodos como toUpperCase, includes, slice y trim devuelven cadenas nuevas.
- Si cualquiera de los lados de + es una cadena, + une texto.
- Plantillas literales: `texto ${expresión} texto`.
Fuentes de este curso (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Fecha de consulta: 2026-10-17