es6新增
- 字符编码:双字节处理;字符串正则化;Unicode的u标志处理
- 识别字串方法:includes() startsWith() endsWith()
- 其他方法: repeat()
- 正则表达式:y标示、复制正则表达式(正则标识符可覆盖)、flages (re.flages 获取标志符)
1、字符串编码--Unicode
JavaScript允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的Unicode码点。这种表示法只限于码点在\u0000~\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表示。
JavaScript内部,字符以UTF-16的格式存储,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode码点大于0xFFFF的字符),JavaScript会认为它们是两个字符,也就是4个字节,对于这种4个字节的字符,JavaScript不能正确处理,字符串长度会误判为2,而且charAt方法无法读取整个字符,charCodeAt方法只能分别返回前两个字节和后两个字节的值。Es6对此提出新的方法,能够正确处理4个字节储存的字符。
- codePointAt()
- fromCodePoint()
(1)codePointAt()--------得到字串用编码表示后的字符码点
var s = '