726 palabras
4 minutos
Segunda clase de Programación — Strings en JavaScript
Segunda clase: Strings en JavaScript
Los strings (cadenas de texto) en JavaScript son valores inmutables: una vez creado un string, su contenido no puede modificarse directamente. Cada método que parece “modificar” un texto en realidad devuelve un nuevo string.
A lo largo de esta clase veremos sus propiedades y métodos más usados, ejemplos prácticos, y una colección de ejercicios al final.
Conceptos clave
Stringes el tipo para representar texto en JavaScript.- Los
stringsson inmutables: los métodos retornan nuevos valores. - Los índices empiezan en
0y el último índice eslength - 1. - Muchos métodos aceptan parámetros opcionales como
pos(posición inicial) para buscar o recortar.
Propiedades y métodos principales
length: número de caracteres del texto.charAt(n): devuelve el carácter en la posiciónn.toLowerCase()/toUpperCase(): devuelve el texto en minúsculas o mayúsculas.trim()/trimStart()/trimEnd(): elimina espacios al inicio/fin.includes(text[, pos]): comprueba si contienetextdesdepos.indexOf(text[, pos]): primera posición detexto-1si no aparece.lastIndexOf(text[, pos]): última posición detext.substring(inicio[, fin]): subcadena entreinicio(incluido) yfin(excluido).replace(t1, t2)/replaceAll(t1, t2): sustituyet1port2(primera o todas).repeat(n): repite el textonveces.padStart(n, text)/padEnd(n, text): rellena hasta longitudncontext.startsWith(text)/endsWith(text): comprueba comienzo/fin.split(text): separa el texto en un array usandotextcomo separador.
Ejemplos en catalán
// Els textos (cadenes de caràcters o strings) són immutables.let nom = "Peter";let nomMajuscules = nom.toUpperCase(); // nomMajuscules = "PETER"let nomMinuscules = "Mary".toLowerCase(); // nomMinuscules = "mary"
// Alguns mètodes importantslet l = "Hello World".length; // l = 11let c = "Hello World".charAt(6); // c = 'W'let repetit = "Hola".repeat(3); // repetit = "HolaHolaHola"let ambZeros = "123".padStart(5, '0'); // ambZeros = "00123"
let hola = "Hello World";let inclou = hola.includes("World"); // inclou = truelet ndx = hola.indexOf(" "); // ndx = 5let s1 = hola.substring(0, ndx).toUpperCase(); // s1 = "HELLO"let s2 = hola.substring(ndx + 1).toLowerCase(); // s2 = "world"
// ATENCIÓ: la primera lletra és la 0, l'última és length - 1let s = "Hola";let mida = s.length; // mida = 4let c0 = s.charAt(0); // c0 = 'H'let cF = s.charAt(mida - 1); // cF = 'a'let cOut = s.charAt(mida); // cOut = '' (fora de rang)
// Caràcters especials (codis d'escapament)let missatge = "Primera línia";missatge += "\nSegona línia"; // \n = salt de líniaalert(missatge);Detalles importantes
- Acceder con un índice fuera de rango devuelve
""(cadena vacía). - Métodos como
replaceno alteran el original: hay que reasignar.
let hola2 = "HOLA";hola2.replace('A', 'I'); // NO canvia la variable hola2hola2 = hola2.replace('A', 'I'); // Ara sí: hola2 = "HOLI"Ejercicios (enunciados en español)
- ¿Cuántas letras?
- Guarda en una variable el número de letras que hay en la constante
LLETRESy muéstralo conalert().
- Letra enésima
- Muestra la letra que hay en la posición
10solo con unalert()(sin variables intermedias).
- Recortar texto
- Guarda en una variable las letras entre la posición
10(incluida) y la20(excluida). - Guarda en otra variable las letras desde la posición
10hasta el final. - Muestra ambas.
- Nombre propio
- Inicializa una variable con tu nombre todo en minúsculas y otra con tu primer apellido todo en mayúsculas.
- Transforma y muestra nombre y apellido en la forma correcta (Primera mayúscula, resto minúsculas).
- Encuentra la palabra
- Indica si una palabra está dentro de una frase (
true/false). - Opcional: haz que no importe el uso de mayúsculas/minúsculas.
- Primera palabra
- Indica si una frase empieza con una palabra determinada (
true/false). - Opcional: case-insensitive.
- Posición de la palabra
- En una frase con una palabra repetida, indica la primera y la última posición.
- Opcional: case-insensitive.
- Recorta palabras repetidas
- Recorta todo el texto entre la primera y la última aparición de la palabra repetida (ambas incluidas).
- Ejemplo: de “Quan plou, plou tant que sembla que plourà tot el dia” → “plou, plou tant que sembla que plou”.
- Opcional: recorta excluyendo la primera y la última.
Soluciones (código en catalán)
// Exercici 1const LLETRES = "TRWAGMYFPDXBNJZSQVHLCKE";console.log(LLETRES.length)
// Exercici 2console.log(LLETRES.charAt(10))
// Exercici 3console.log(LLETRES.substring(10,20))console.log(LLETRES.substring(10,))
// Exercici 4let nom = "lucia"let apellido = "ALVAREZ"console.log(`Nom complet: ${nom.charAt(0).toUpperCase() + nom.slice(1)} ${apellido.charAt(0).toUpperCase() + apellido.slice(1).toLowerCase()}`)
// Exercici 5let frase = "Quan plou, plou tant que sembla que plourà tot el dia"let word = "plou"function wordInSentence(sentence : string, word: string) { return sentence.toLowerCase().includes(word.toLowerCase());}wordInSentence(frase, word)
// Exercici 6let primeraParaula = "qUan"let fraseLow = frase.toLowerCase()console.log(fraseLow.startsWith(primeraParaula.toLowerCase()))
// Exercici 7let firstIndex = fraseLow.indexOf(word)let lastIndex = fraseLow.lastIndexOf(word) + word.lengthconsole.log(`Primer index ${firstIndex}, Último index: ${lastIndex}`)
// Exercici 8console.log(`${frase.substring(firstIndex, lastIndex)}`)console.log(`${frase.substring(firstIndex, fraseLow.lastIndexOf(word))}`) Segunda clase de Programación — Strings en JavaScript
https://blog.lucialv.com/posts/second-class-programming/