3. ¿Cuáles son las tres funciones de String en JS? - KatherineAGM/Checkpoint-7 GitHub Wiki

En JavaScript, los "strings" (cadenas de texto) son tipos de datos primitivos que tienen una gran cantidad de métodos integrados para manipularlos, no solo hay tres, pero aquí te presento estos tres más comunes:

slice(beginIndex, endIndex):

Extrae una sección de una cadena y devuelve una nueva cadena, sin modificar la original. Puedes especificar el índice de inicio y fin (opcional).

Ejemplos:

  • Extrayendo una parte específica:
let textoOriginal = "Hola Mundo JavaScript";

// Extraer "Mundo" (empieza en el índice 5, termina antes del índice 10)
let parteExtraida = textoOriginal.slice(5, 10);
console.log(parteExtraida); // Salida: "Mundo"

// Extraer desde un índice hasta el final de la cadena
let desdeElPrincipio = textoOriginal.slice(0, 4);
console.log(desdeElPrincipio); // Salida: "Hola"

// Extraer desde un índice específico hasta el final
let hastaElFinal = textoOriginal.slice(11);
console.log(hastaElFinal); // Salida: "JavaScript"

*Usando índices negativos (cuenta desde el final):

let frase = "Programación web";

// Extraer los últimos 3 caracteres
let ultimosCaracteres = frase.slice(-3);
console.log(ultimosCaracteres); // Salida: "web"

// Extraer desde el sexto carácter hasta el tercero desde el final
let parteCentral = frase.slice(6, -4);
console.log(parteCentral); // Salida: "ación"

replace(searchValue, replaceValue):

Este método busca una subcadena o una expresión regular en la cadena original y la reemplaza por otro valor. Importante: Solo reemplaza la primera ocurrencia si searchValue es una cadena, a menos que uses una expresión regular con la bandera g (global).

Ejemplos: *Reemplazando la primera ocurrencia de una subcadena:

let saludo = "Hola mundo, hola a todos.";

// Reemplazar la primera ocurrencia de "hola" por "Adiós"
let nuevoSaludo = saludo.replace("hola", "Adiós");
console.log(nuevoSaludo); // Salida: "Adiós mundo, hola a todos."

*Reemplazando todas las ocurrencias con una expresión regular:

let textoConEspacios = "  Este   texto tiene  muchos  espacios.  ";

// Reemplazar uno o más espacios por un solo espacio (usando una expresión regular)
let textoLimpio = textoConEspacios.replace(/\s+/g, " ");
console.log(textoLimpio); // Salida: " Este texto tiene muchos espacios. "
// Nota: Observa que trim() sería más adecuado para los espacios al principio y al final.

let palabrasRepetidas = "El perro, el gato y el pájaro.";

// Reemplazar todas las ocurrencias de "el" (ignorando mayúsculas/minúsculas)
let palabrasModificadas = palabrasRepetidas.replace(/el/gi, "un");
console.log(palabrasModificadas); // Salida: "Un perro, un gato y un pájaro."

concat(string1, string2, ...):

Este método une dos o más cadenas y devuelve una nueva cadena. Aunque es funcional, el operador + o los "template literals" (plantillas de cadena) son más comúnmente utilizados por su simplicidad y legibilidad.

Ejemplo:

  • Concatenando múltiples cadenas:
let nombre = "Juan";
let apellido = "Pérez";
let edad = 30;

// Usando concat()
let presentacionConcat = "Mi nombre es ".concat(nombre, " ", apellido, " y tengo ", edad, " años.");
console.log(presentacionConcat); // Salida: "Mi nombre es Juan Pérez y tengo 30 años."

// Comparación con el operador + (más común)
let presentacionPlus = "Mi nombre es " + nombre + " " + apellido + " y tengo " + edad + " años.";
console.log(presentacionPlus); // Salida: "Mi nombre es Juan Pérez y tengo 30 años."

// Comparación con template literals (¡recomendado para cadenas complejas!)
let presentacionTemplate = `Mi nombre es ${nombre} ${apellido} y tengo ${edad} años.`;
console.log(presentacionTemplate); // Salida: "Mi nombre es Juan Pérez y tengo 30 años."