Las cadenas de texto de JavaScript son inmutables: cada método devuelve un texto nuevo y deja el original intacto. Esto significa que debes guardar el resultado o usarlo directamente.
const nombre = ' Ana ';
nombre.trim(); // el resultado se pierde
console.log(nombre); // ' Ana ' (no cambió)
const limpio = nombre.trim();
console.log(limpio); // 'Ana'Limpiar y cambiar mayúsculas
console.log(' hola '.trim()); // 'hola'
console.log('Hola'.toUpperCase()); // 'HOLA'
console.log('Hola'.toLowerCase()); // 'hola'trimStart() y trimEnd() limpian solo un lado.
Buscar dentro del texto
const frase = 'Me gusta JavaScript';
console.log(frase.includes('Java')); // true
console.log(frase.startsWith('Me')); // true
console.log(frase.endsWith('Script')); // true
console.log(frase.indexOf('gusta')); // 3 (-1 si no existe)Estas búsquedas distinguen mayúsculas. Para ignorarlas, convierte ambos textos:
const contiene = (texto, consulta) =>
texto.toLowerCase().includes(consulta.toLowerCase());
console.log(contiene('JavaScript', 'script')); // trueExtraer partes
const codigo = 'JS-2026-A';
console.log(codigo.slice(0, 2)); // 'JS'
console.log(codigo.slice(3)); // '2026-A'
console.log(codigo.slice(-1)); // 'A'
console.log(codigo.at(0)); // 'J'
console.log(codigo.length); // 9slice(inicio, fin) no incluye la posición final y acepta índices negativos, que cuentan desde el final.
Dividir y unir
const lista = 'rojo,verde,azul'.split(',');
console.log(lista); // ['rojo', 'verde', 'azul']
console.log(lista.join(' - ')); // 'rojo - verde - azul'
console.log('hola mundo'.split(' ').map(p => p[0].toUpperCase() + p.slice(1)).join(' '));
// 'Hola Mundo'Reemplazar
console.log('a-b-c'.replace('-', '+')); // 'a+b-c' (solo el primero)
console.log('a-b-c'.replaceAll('-', '+')); // 'a+b+c'
console.log('a-b-c'.replace(/-/g, '+')); // 'a+b+c' (con expresión regular)Rellenar y repetir
console.log('7'.padStart(3, '0')); // '007'
console.log('ab'.repeat(3)); // 'ababab'padStart es práctico para horas y números de pedido: String(minutos).padStart(2, '0').
Plantillas literales
Con acentos graves puedes insertar variables y expresiones sin concatenar:
const usuario = 'Ana';
const puntos = 12;
console.log('Hola, ' + usuario + '. Tienes ' + puntos + ' puntos.');
console.log(`Hola, ${usuario}. Tienes ${puntos} puntos.`);
console.log(`El doble es ${puntos * 2}`);También permiten varias líneas sin caracteres especiales.
Comparar y ordenar
console.log('a' < 'b'); // true
console.log('Z' < 'a'); // true (las mayúsculas van antes)
console.log('ñ'.localeCompare('o', 'es')); // -1Para ordenar nombres con acentos o eñes, usa localeCompare con el idioma:
const nombres = ['Óscar', 'Ana', 'Álex'];
console.log(nombres.sort((a, b) => a.localeCompare(b, 'es')));
// ['Álex', 'Ana', 'Óscar']Resumen
| Tarea | Método |
|---|---|
| Quitar espacios | trim |
| Saber si contiene algo | includes |
| Cortar una parte | slice |
| Convertir a lista | split |
| Sustituir texto | replaceAll |
| Rellenar con ceros | padStart |
Última actualización: . Los ejemplos se han comprobado en un navegador actual y en Node.js.