在JavaScript中,有多種方法可以將字符串的第一個字符轉換為大寫。學習這些方法,並找出哪一種方法是最好的,純粹使用JavaScript。
將字符串的第一個字符轉換為大寫是一個常見的字符串操作之一:將其第一個字母轉為大寫,保持字符串的其餘部分不變。
最好的方法是通過兩個函數的組合來實現。
一個函數用於將第一個字符轉為大寫,第二個函數用於切割字符串並從第二個字符開始返回。
像這樣:
const name = 'flavio'
const nameCapitalized = name.charAt(0).toUpperCase() + name.slice(1)
你可以將這個字符串轉換為大寫的方法提取到一個函數中,該函數還檢查傳入的參數是否為字符串,如果不是則返回空字符串:
const capitalize = (s) => {
if (typeof s !== 'string') return ''
return s.charAt(0).toUpperCase() + s.slice(1)
}
capitalize('flavio') //'Flavio'
capitalize('f') //'F'
capitalize(0) //''
capitalize({}) //''
你也可以使用字符串索引(在較舊的IE版本中不支持)來代替charAt(0)
:s[0]
。
在線上有一些解決方案也可以將字符串的第一個字母轉為大寫,它們將這個函數添加到String的原型上:
String.prototype.capitalize = function() {
return this.charAt(0).toUpperCase() + this.slice(1)
}
(我們使用常規函數來使用this
- 箭頭函數在這種情況下會失敗,因為箭頭函數中的this
不引用當前對象)
這個解決方案不是理想的,因為通常不建議編輯原型,而且這是一個比獨立函數慢得多的解決方案。
不要忘記,如果你只是想在Web頁面上以呈現的方式將第一個字母轉為大寫,CSS可能是一個更好的解決方案,只需將capitalize
類添加到HTML段落中,並使用:
p.capitalize {
text-transform: capitalize;
}