點燈坊

失くすものさえない今が強くなるチャンスよ

使用 charAt() 回傳 String 指定 Index 的 Char

Sam Xiao's Avatar 2020-01-12

charAt() 可從 String 回傳指定 Index 的 Char,[] 亦可,不過當找不到時,charAt()[] 結果並不相同。

Version

macOS Catalina 10.15.2
VS Code 1.41.1
Quokka 1.0.271
ECMAScript 2015

Found

let data = 'hello'

data.charAt(1) // ?
data[1] // ?

若指定 index 找得到,則 charAt()[] 結果相同。

charat000

Not Found

let data = 'hello'

data.charAt(10) // ?
data[10] // ?

當指定 index 為 out of range 時,charAt() 回傳為 empty string,[] 回傳為 undefined

charat001

Conclusion

  • 實務上 charAt()[] 都可使用,唯當找不到 char 時,兩者回傳並不相同,因此不算完全等效,需小心處理

Reference

Colquitt, Top 35 JavaScript Shorthands
MDN, String.prototype.charAt()