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:

  1. Obtenha a primeira letra da string;
  2. Converta a primeira letra para maiúscula;
  3. Obtenha o resto da string;
  4. 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