1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-29 13:52:22 +00:00

Merge pull request #461 from outloudvi/gh-pages

Fix minor typo of "string.md"
This commit is contained in:
Ruan YiFeng 2017-07-31 09:46:57 +08:00 committed by GitHub
commit 7b7d2a9208

View File

@ -65,7 +65,7 @@ s.charCodeAt(0) // 55362
s.charCodeAt(1) // 57271
```
上面代码中,汉字“𠮷”(注意,这个字不是”吉祥“的”吉“)的码点是`0x20BB7`UTF-16编码为`0xD842 0xDFB7`(十进制为`55362 57271`),需要`4`个字节储存。对于这种`4`个字节的字符JavaScript不能正确处理字符串长度会误判为`2`,而且`charAt`方法无法读取整个字符,`charCodeAt`方法只能分别返回前两个字节和后两个字节的值。
上面代码中,汉字“𠮷”(注意,这个字不是“吉祥”的“吉”)的码点是`0x20BB7`UTF-16编码为`0xD842 0xDFB7`(十进制为`55362 57271`),需要`4`个字节储存。对于这种`4`个字节的字符JavaScript不能正确处理字符串长度会误判为`2`,而且`charAt`方法无法读取整个字符,`charCodeAt`方法只能分别返回前两个字节和后两个字节的值。
ES6提供了`codePointAt`方法能够正确处理4个字节储存的字符返回一个字符的码点。