网站首页 » 前端开发 » JavaScript » 《ES6 标准入门》学习笔记(第四章:字符串的扩展)
上一篇:
下一篇:

《ES6 标准入门》学习笔记(第四章:字符串的扩展)

《ES6 标准入门》的第四章主要是介绍 ES6 加强对 Unicode 的支持,以及扩展了字符串对象。

《ES6 标准入门》学习笔记(第四章:字符串的扩展)

Unicode 的表示字符的增加,以前对于超过\u0000~\uFFFF这个范围的,必须用2个双字节的形式表达,现在有了{}我们就可以像下面这样写:

以前
console.log("\uD842\uDFB7"); // 字符串的扩展
console.log("\u20BB7"); // ₻7

但是现在我们就可以通过{}来显示所对应的码点(大于\uFFFF):

现在
console.log("\u{20BB7}"); // 字符串的扩展

ES6 新增的 codePointAt() 弥补了charCodeAt() 方法的不足,能够处理 4 个字节储存的字符:

看这里
var s = "a";
console.log(s.charCodeAt(0),s.charCodeAt(1),s.charCodeAt(2));    // 55362 57271 97
console.log(s.codePointAt(0),s.codePointAt(1),s.codePointAt(2)); // 134071 57271 97

注意上面返回的是十进制的值,在上面的例子中 codePointAt(0) 第一个字符正确识别了“字符串的扩展”,如果有需要可以把值转成十六进制:

十进制 转十六进制
console.log(s.codePointAt(0).toString(16)); // 20bb7

String.fromCodePoint() 方法弥补了String.fromCharCode() 方法的不足,可以识别大于  0xFFFF 的字符:

看这里
console.log(String.fromCodePoint(0x20bb7)); // 字符串的扩展

String.fromCodePoint() 方法还可以传多个参数,会把它们合并成一个字符串返回。

有意思
console.log(String.fromCodePoint(0x20bb7,0x0061)); // 字符串的扩展

上面的截图也是迫不得已,博客系统保存时会过滤掉这个字符,所以也只能截图以表用心了。

  • 微信扫一扫,赏我

  • 支付宝扫一扫,赏我

声明

原创文章,不经本站同意,不得以任何形式转载,如有不便,请多多包涵!

本文永久链接:http://yunkus.com/es6-primer-notes-part4/

Leave a Reply

Your email address will not be published. Required fields are marked *

评论 END