Artigo original: How to Capitalize the First Letter of a String in JavaScript
Para deixar a primeira letra de uma string aleatória, siga estes passos:
- Obtenha a primeira letra da string;
- Converta a primeira letra para maiúscula;
- Obtenha o resto da string;
- Concatene a primeira letra em maiúscula com o resto da string e retorne o resultado;
1. Obtenha a primeira letra da string
Você deve usar o método charAt() (texto em inglês), no índice 0, para selecionar o primeiro caractere da string.
var string = "freeCodecamp";
string.charAt(0); // Retorna "f"
OBSERVAÇÃO: charAt
é preferível em vez de usar [ ]
(notação de colchetes - texto em inglês), já que str.charAt(0)
retorna uma string vazia (''
) para str = ''
em vez de undefined
no caso de ''[0]
.
2. Converta a primeira letra para maiúscula
Você pode usar o método toUpperCase() (texto em inglês) e converter a string que chama o método em maiúsculas.
var string = "freeCodecamp";
string.charAt(0).toUpperCase(); // Retorna "F"
3. Obtenha o resto da string
Você pode usar o método slice() e obter o resto da string (do segundo caractere, índice 1, até o final da string).
var string = "freeCodecamp";
string.slice(1); // Retorna "reeCodecamp"
4. Retorne o resultado de concatenar a primeira letra em maiúsculas e o resto da string
Você deve criar uma função que aceita uma string como único argumento e retorna a concatenação da primeira letra em maiúscula, string.charAt(0).toUpperCase()
, e o resto da string, string.slice(1)
.
var string = "freeCodecamp";
function capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
capitalizeFirstLetter(string); // Retorna "FreeCodecamp"
Também é possível adicionar a função à String.prototype
para usá-la diretamente em uma string usando o código abaixo (para que o método não seja enumerável, mas possa ser sobrescrito ou excluído mais tarde):
var string = "freeCodecamp";
/* É assim que métodos são definidos no protótipo de qualquer objeto integrado */
Object.defineProperty(String.prototype, 'capitalizeFirstLetter', {
value: function () {
return this.charAt(0).toUpperCase() + this.slice(1);
},
writable: true, // Para que possa ser sobrescrito mais tarde
configurable: true // Para que possa ser excluído mais tarde
});
string.capitalizeFirstLetter(); // Retorna "FreeCodecamp"
Fonte (em inglês)
Stack Overflow – Como deixar a primeira letra de uma string em maiúsculas em JavaScript