Die grundlegende Lösung ist:
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
console.log(capitalizeFirstLetter('foo')); // Foo
Einige andere Antworten ändern String.prototype
(diese Antwort auch), aber ich würde davon jetzt abraten, wegen der Wartbarkeit (schwer herauszufinden, wo die Funktion zur prototype
und könnte zu Konflikten führen, wenn anderer Code denselben Namen verwendet / ein Browser in Zukunft eine native Funktion mit demselben Namen hinzufügt).
...und dann gibt es noch so viel mehr zu dieser Frage, wenn man die Internationalisierung betrachtet, wie diese verblüffend gute Antwort (unten begraben) zeigt.
Wenn Sie mit Unicode-Codepunkten anstelle von Codeeinheiten arbeiten wollen (z. B. um Unicode-Zeichen außerhalb der Basic Multilingual Plane zu behandeln), können Sie die Tatsache nutzen, dass String#[@iterator]
arbeitet mit Codepunkten, und Sie können mit toLocaleUpperCase
um die lokal korrekte Großschreibung zu erhalten:
const capitalizeFirstLetter = ([ first, ...rest ], locale = navigator.language) =>
first.toLocaleUpperCase(locale) + rest.join('')
console.log(
capitalizeFirstLetter('foo'), // Foo
capitalizeFirstLetter(""), // "" (correct!)
capitalizeFirstLetter("italya", 'tr') // talya" (correct in Turkish Latin!)
)
Noch mehr Internationalisierungsoptionen finden Sie in der Originalantwort unten .