Strings
Nombres de usuario, mensajes, direcciones, títulos de producto: en cualquier aplicación real, la mayoría de los datos con los que trabajas son texto. Hoy ves las tres formas de escribir un string, la que deberías usar casi siempre, y el puñado de métodos que vas a repetir en casi cualquier proyecto.
Tres formas de escribir un string, una que gana casi siempre
La opción clásica, sin más.
Funciona igual — elige una convención y sé consistente en todo tu código.
Comillas invertidas (backticks). Permiten interpolar variables directamente con ${variable} y escribir texto en varias líneas sin trucos raros.
Antes de los template literals, para meter una variable dentro de un texto
tenías que concatenar con +, algo así:
'Hola ' + nombre + ', tienes ' + edad + ' años'.
Con backticks, lo mismo queda mucho más legible:
Usa template literals por defecto para cualquier string que combine texto fijo con variables. Es más legible, evita errores de espacios olvidados al concatenar, y admite saltos de línea reales dentro de las comillas.
Métodos de string más usados
No es un método, es una propiedad — pero se usa igual de constante: 'hola'.length da 4.
Convierte todo el string a mayúsculas o minúsculas.
Elimina espacios en blanco al principio y al final. Imprescindible al validar lo que escribe un usuario en un formulario.
Extrae una parte del string por posición. 'graffica'.slice(0,4) da 'graf'.
Devuelve true o false según si el string contiene ese fragmento.
La posición donde empieza ese fragmento, o -1 si no aparece.
Sustituye la primera aparición de a por b. Para todas, usa .replaceAll(a, b).
Corta el string en un array usando el separador. 'a,b,c'.split(',') da ['a','b','c'].
Los strings en JavaScript son inmutables: ningún método
los modifica, todos devuelven un string nuevo. Si escribes
email.trim(); sin guardar el resultado en una
variable, el espacio en blanco sigue ahí — necesitas
email = email.trim(); o guardar el resultado en
una variable nueva.
Comprueba lo que has aprendido
1. ¿Qué ventaja principal tienen los template literals (backticks) sobre concatenar con +?
2. ¿Por qué email.trim(); solo, sin guardar el resultado, no elimina los espacios de la variable email?
3. ¿Qué devuelve 'graffica'.indexOf('x') si 'x' no aparece en el string?