基本解决方案是:
function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1);}console.log(capitalizeFirstLetter('foo')); // Foo修改了其他一些答案
String.prototype(这个答案也曾经使用过),但是由于可维护性,我现在建议这样做(很难找出将函数添加到的位置
prototype,如果其他代码使用相同的名称/浏览器,则可能导致冲突将来添加具有相同名称的本机函数)。
…然后,当你考虑国际化时,这个问题还有很多,正如这个令人惊讶的好答案(埋在下面)所示。
如果要使用
Unipre代码点而不是代码单元(例如,在基本多语言平面之外处理Unipre字符),则可以利用
String#[@iterator]与代码点一起使用的事实,并且可以使用
toLocaleUpperCase正确的语言环境大写形式:
function capitalizeFirstLetter([ first, ...rest ], locale = navigator.language) { return [ first.toLocaleUpperCase(locale), ...rest ].join('');}console.log(capitalizeFirstLetter('foo')); // Fooconsole.log(capitalizeFirstLetter("


