探索 JavaScript 字串的 codePointAt() 方法。

這個方法在 ES2015 中被引入,用於處理無法用一個 16 位元 Unicode 單元表示的 Unicode 字元,而需要使用兩個。

使用 charCodeAt() 你需要取得第一個和第二個單元,然後結合它們。使用 codePointAt() 可以在一次呼叫中取得整個字元。

舉個例子,這個中文字「𠮷」由兩個 UTF-16(Unicode)部分組成:

"𠮷".charCodeAt(0).toString(16) //d842
"𠮷".charCodeAt(1).toString(16) //dfb7

如果你結合這兩個 Unicode 字元來建立一個新的字元:

"\ud842\udfb7" //"𠮷"

你可以使用 codePointAt() 得到相同的結果:

"𠮷".codePointAt(0) //20bb7

如果你結合這兩個 Unicode 字元來建立一個新的字元:

"\u{20bb7}" //"𠮷"

想要了解更多關於 Unicode 及如何處理 Unicode 的相關資訊,可以參考Unicode and UTF-8