Si tenemos un
Modificar strings
Los siguientes métodos realizan algún tipo de operación de modificación sobre un
Método | Descripción |
---|---|
.toLowerCase() | Devuelve el |
.toUpperCase() | Devuelve el |
.padStart(size, text) | Devuelve el text hasta llegar al tamaño size . |
.padEnd(size, text) | Devuelve el text hasta llegar al tamaño size . |
.trimStart() | Devuelve el |
.trimEnd() | Devuelve el |
.trim() | Devuelve el |
Observa que en todos los casos, se devuelve un nuevo
Mayúsculas y minúsculas
Los métodos .toLowerCase()
y .toUpperCase()
devuelven el
const text = "Los gatos dominarán el mundo.";
text.toLowerCase(); // "los gatos dominarán el mundo."
text.toUpperCase(); // "LOS GATOS DOMINARÁN EL MUNDO."
Capitalizar texto
La palabra capitalizar se refiere a transformar a mayúsculas su primer carácter, y en minúsculas el resto del texto. En Javascript, no existe una función .toCapitalize()
, pero de necesitarla se podría realizar la siguiente función de ayuda:
const text = "los gatos dominarán el mundo.";
const toCapitalize = (text) => text[0].toUpperCase() + text.substring(1);
const toCapitalizeEveryWord = (text) => {
return text.split(" ") // Separamos en un array cada palabra
.map(word => toCapitalize(word)) // Aplicamos el capitalizar a cada elemento
.join(" "); // Lo volvemos a unir en un string
}
toCapitalize(text); // "Los gatos dominarán el mundo."
toCapitalizeEveryWord(text); // "Los Gatos Dominarán El Mundo."
Observa que toCapitalize()
capitaliza la frase en conjunto, mientras que toCapitalizeEveryWord()
capitaliza cada una de las palabras de la frase.
Relleno de cadenas
Una transformación interesante que se añade en Javascript .padStart(size, text)
o .padEnd(size, text)
. Ambos métodos toman dos parámetros: size
es la longitud deseada del text
el carácter a utilizar como relleno.
El objetivo de ambas funciones es devolver un nuevo size
y rellenando el resto con text
. Esto se realizará al principio del .padStart()
o al final si se usa .padEnd()
. Veamos un ejemplo:
const stringNumber = "15";
stringNumber.padStart(5, "0"); // "00015"
stringNumber.padStart(3, "0"); // "015"
stringNumber.padStart(2, "0"); // "15"
stringNumber.padStart(1, "0"); // "15"
El método .padEnd()
funcionaría exactamente igual, pero añadiendo el text
al final en lugar de al principio del
Estos métodos resultan especialmente interesantes para formatear horas, como por ejemplo en el caso que queremos que las cifras menores a 10 aparezcan siempre en formato de dos dígitos
00
, en lugar de un formato variable, donde se use un dígito0
para números entre0
y9
y dos dígitos para números mayores a9
.
Eliminar espacios sobrantes
El método .trim()
y sus métodos derivados, informalmente traducido como «afeitar» o «recortar», se encarga de devolver el
De la misma forma, .trimStart()
y .trimEnd()
son versiones particulares, que realizan la misma tarea, pero sólo a la izquierda o derecha, respectivamente. Veamos algunos ejemplos:
// Observa los espacios añadidos en los extremos de la frase
const text = " ¡Saludad a vuestro nuevo rey gato! ";
text.trim(); // "¡Saludad a vuestro nuevo rey gato!"
text.trimStart(); // "¡Saludad a vuestro nuevo rey gato! "
text.trimEnd(); // " ¡Saludad a vuestro nuevo rey gato!"
text.trimStart().trimEnd() === text.trim(); // true
Puede que en algunos lugares te encuentres los métodos
.trimLeft()
(izquierda) y.trimRight()
(derecha) como alternativas a.trimStart()
y.trimEnd()
. En principio, son una implementación obsoleta que no debería usarse, ya que algunos idiomas, el inicio no es necesariamente la izquierda y podría ser confuso. En su lugar, aunque existan y funcionen, deberían usarse siempre.trimStart()
y.trimEnd()
.
Alternativas para crear strings
Concatenar (unir textos)
Método | Descripción |
---|---|
.concat(text1, text2...) | Devuelve el text1 , text2 ... |
El método .concat(text1, text2...)
permite concatenar (unir) los textos pasados por parámetros al propio +
, mucho más legible y compacto en la mayoría de situaciones.
const name = "Manz";
// Utilizando método concat
name.concat("i", "to"); // "Manzito"
name.concat(4, 5); // "Manz45"
name.concat((4 + 5)); // "Manz9"
// Utilizando operador +
name + "i" + "to"; // "Manzito"
name + 4 + 5; // "Manz45"
name + (4 + 5); // "Manz9"