Lección 11: Strings (Cadenas de Texto)
🧠 Concepto
Section titled “🧠 Concepto”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.
Propiedad .length
Section titled “Propiedad .length”length nos dice cuántos caracteres tiene un string (incluyendo espacios).
let mensaje = 'Hola Mundo';console.log(mensaje.length); // 10Métodos principales
Section titled “Métodos principales”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')); // trueconsole.log(frase.startsWith('Java')); // trueconsole.log(frase.endsWith('ble')); // trueconsole.log(frase.indexOf('es')); // 11console.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"💻 Ejemplo
Section titled “💻 Ejemplo”let nombre = ' María García ';
// Limpiar espacioslet nombreLimpio = nombre.trim();console.log(nombreLimpio); // "María García"
// Mayúsculasconsole.log(nombreLimpio.toUpperCase()); // "MARÍA GARCÍA"
// Dividir en nombre y apellidolet partes = nombreLimpio.split(' ');console.log('Nombre:', partes[0]); // "María"console.log('Apellido:', partes[1]); // "García"
// Verificar si contiene algolet email = 'usuario@correo.com';console.log('¿Tiene @?', email.includes('@'));console.log('¿Termina en .com?', email.endsWith('.com'));
// Extraer dominiolet arrobaPos = email.indexOf('@');let dominio = email.slice(arrobaPos + 1);console.log('Dominio:', dominio); // "correo.com"📝 Ejercicio
Section titled “📝 Ejercicio”- Crea un archivo
strings.js. - Declara una variable con tu nombre completo (con espacios extra).
- Limpia los espacios con
.trim(). - Convierte todo a mayúsculas.
- Divide en partes con
.split(' '). - Muestra el número de palabras.
- 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'));⚠️ Nota
Section titled “⚠️ Nota”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.