Para poner en mayúscula la primera letra de un string aleatorio, debes seguir estos pasos:
- Obten el primer carácter del string;
- Convierte la primera letra en mayúscula;
- Obten el residuo del string;
- Concatena la primera letra en mayúscula con el residuo del string y retorna el resultado;
1. Obten el Primer Carácter del String
Deberías usar el método charAt(), en el índice 0, para seleccionar el primer carácter del string.
const string = "freeCodecamp";
string.charAt(0); // Retorna "f"
NOTA:charAt
es preferible que usar [ ]
(notación de corchete) como str.charAt(0)
retorna un string vacio (''
) para str = ''
en lugar de undefined
en caso de ''[0]
.
2. Convierte la Primera Letra a Mayúscula
Puedes usar el método toUpperCase() y convertir el string llamado a mayúscula.
const string = "freeCodecamp";
string.charAt(0).toUpperCase(); // Retorna "F"
3. Obten el residuo del string
Puedes usar el método slice() y obtener el residuo del string (desde el segundo carácter, índice 1, hasta el final del string).
const string = "freeCodecamp";
string.slice(1); // Retorna "reeCodecamp"
4. Retorna el Resultado agregado la Primera Letra y el Residuo del String
Deberías crear una función que acepte solamente un string como argumento y retornar la concatenación de la primera letra en mayúscula string.charAt(0).toUpperCase()
y el residuo del string string.slice(1)
.
const string = "freeCodecamp";
function capitalizarPrimeraLetra(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
capitalizarPrimeraLetra(string); // Retorna "FreeCodecamp"
O puedes agregar la función a String.prototype
para usarla directamente en un string usando el siguiente código (para que el método no es enumerable pero pueda ser sobrescrito o borrado más tarde):
const string = "freeCodecamp";
/*
Esto es como los métodos son definido en el prototipo
de cualquier Objecto incorporado
*/
Object.defineProperty(String.prototype, 'capitalizarPrimeraLetra', {
value: function () {
return this.charAt(0).toUpperCase() + this.slice(1);
},
writable: true, // Asi, puede sobreescribirse más tarde
configurable: true // Asi, puede borrarse más tarde
});
string.capitalizePrimeraLetra(); // Retorna "FreeCodecamp"
Traducido del articulo How to Capitalize the First Letter of a String in JavaScript