Skip to content

Lección 11: Strings (Cadenas de Texto)

Los strings (cadenas de texto) son uno de los tipos de datos más usados en JavaScript. Representan texto y tienen muchas propiedades y métodos útiles para manipularlos.

length nos dice cuántos caracteres tiene un string (incluyendo espacios).

let mensaje = 'Hola Mundo';
console.log(mensaje.length); // 10

Cambio de mayúsculas/minúsculas:

let texto = 'JavaScript';
console.log(texto.toUpperCase()); // "JAVASCRIPT"
console.log(texto.toLowerCase()); // "javascript"

Eliminar espacios (trim):

let email = ' usuario@email.com ';
console.log(email.trim()); // "usuario@email.com"

Dividir un string (split):

let csv = 'manzana,pera,uva';
console.log(csv.split(',')); // ["manzana", "pera", "uva"]
let frase = 'Hola Mundo JS';
console.log(frase.split(' ')); // ["Hola", "Mundo", "JS"]

Buscar (includes, startsWith, endsWith, indexOf):

let frase = 'JavaScript es increíble';
console.log(frase.includes('increíble')); // true
console.log(frase.startsWith('Java')); // true
console.log(frase.endsWith('ble')); // true
console.log(frase.indexOf('es')); // 11
console.log(frase.indexOf('python')); // -1 (no encontrado)

Extraer parte (slice):

let texto = 'JavaScript';
console.log(texto.slice(0, 4)); // "Java"
console.log(texto.slice(4)); // "Script"
console.log(texto.slice(-6)); // "Script" (empieza desde el final)

Reemplazar (replace):

let saludo = 'Hola Ana';
console.log(saludo.replace('Ana', 'Carlos')); // "Hola Carlos"
let nombre = ' María García ';
// Limpiar espacios
let nombreLimpio = nombre.trim();
console.log(nombreLimpio); // "María García"
// Mayúsculas
console.log(nombreLimpio.toUpperCase()); // "MARÍA GARCÍA"
// Dividir en nombre y apellido
let partes = nombreLimpio.split(' ');
console.log('Nombre:', partes[0]); // "María"
console.log('Apellido:', partes[1]); // "García"
// Verificar si contiene algo
let email = 'usuario@correo.com';
console.log('¿Tiene @?', email.includes('@'));
console.log('¿Termina en .com?', email.endsWith('.com'));
// Extraer dominio
let arrobaPos = email.indexOf('@');
let dominio = email.slice(arrobaPos + 1);
console.log('Dominio:', dominio); // "correo.com"
  1. Crea un archivo strings.js.
  2. Declara una variable con tu nombre completo (con espacios extra).
  3. Limpia los espacios con .trim().
  4. Convierte todo a mayúsculas.
  5. Divide en partes con .split(' ').
  6. Muestra el número de palabras.
  7. Verifica si tu nombre incluye una letra específica.
let nombreCompleto = ' Juan Pérez López ';
let limpio = nombreCompleto.trim();
console.log('Limpio:', limpio);
console.log('Mayúsculas:', limpio.toUpperCase());
let palabras = limpio.split(' ');
console.log('Partes:', palabras);
console.log('Número de palabras:', palabras.length);
console.log('¿Incluye "Pérez"?', limpio.includes('Pérez'));

Los strings son inmutables. Los métodos como .toUpperCase() o .trim() no modifican el string original, sino que devuelven uno nuevo. Si quieres conservar el cambio, debes asignarlo a una variable.

let texto = 'hola';
texto.toUpperCase();
console.log(texto); // "hola" (no cambió)
texto = texto.toUpperCase();
console.log(texto); // "HOLA" (ahora sí)

.indexOf() devuelve -1 cuando no encuentra el texto. Úsalo como condición:

if (frase.indexOf('error') !== -1) {
console.log('Se encontró la palabra error');
}

Pero includes() es más legible para este propósito.