当前位置:首页 > 技术分析 > 正文内容

ES6字符串的新特性及新增方法梳理

ruisui885个月前 (02-03)技术分析43

ES6中对字符串的处理做了增强,改进了Unicode表示法,增加了很多新的API,你是不是都知道呢?

Unicode表示法

在js中,可以使用"\u0061"来表示一个字符,但是仅限于码点在\u0000~\uFFFF之间的字符,如果超出了这个范围,就必须要用两个字节来表示,如"\uD842\uDFB7"。

在ES6中,可以将码点放入大括号中,无需再用双字节来表示:"\u{20BB7}"。

在ES5中提供了String.fromCharCode从Unicode码点返回字符串,这个方法也是不能识别大于0xFFFF的字符。ES6中增加了一个fromCodePoint的方法,弥补了fromCharCode的不足。

字符串的遍历

ES6中增加了for-of循环,它是依赖Iterator来实现的,字符串也实现了这个接口,所以字符串中字符的遍历,也可以使用for-of。

使用for-of还有一个好处就是可以识别大于0xFFFF的码点,传统的for循环是做不到的:

标签模版

模板字符串不仅可以用来优雅的拼接字符串,还可以紧跟在一个函数名后,让函数处理模板字符串:

从上图可以看到,函数将模版字符串分解成了数组作为参数调用,其实就是template和template的参数。

includes、startsWith、endsWith

在ES5之前,确定一个字符串是否包含在另一个字符串中,只能用indexOf,ES6增加了三个新的实例方法:includes、startsWith、endsWith。用法如同直观看到的一样,只要在实际开发中能想到即可。

repeat

repeat方法返回一个新的字符串,表示将原字符串重复n次:

console.log('x'.repeat(3))
// xxx

padStart、padEnd

ES2017引入了字符串补全的功能。

trimStart、trimEnd

ES2019新增了消除字符串头部空格和尾部空格的功能,和trim类似。它们都是返回新的字符串,不会修改原字符串。(有同学知道为什么吗?欢迎留言分享!)

matchAll、replaceAll

matchAll返回一个正则表达式在当前字符串的所有匹配。

replaceAll替换一个正则表达式所有匹配。在之前的replace中,如果要全局匹配,需要设定正则表达式的模式为全局(/g)。


如果你对今天所讲的内容感兴趣,不要忘了给我点赞和关注哦。也欢迎你在留言区和我分享交流!

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/685.html

分享给朋友:

“ES6字符串的新特性及新增方法梳理” 的相关文章

Ubuntu Linux 24.04 LTS发行版现已开放下载

IT之家 4 月 25 日消息,Ubuntu 24.04 长期支持版(LTS)“Noble Numbat” 现已发布,有需要的用户请通过官网下载发行版 ISO 镜像进行安装。Ubuntu 24.04 采用了 Linux 6.8 内核,可利用 Netplan 在桌面上配置网络连接,还配备了现代化的桌面...

HTML5+眼球追踪?黑科技颠覆传统手机体验

今天,iH5工具推出一个新的神秘功能——眼动追踪,可以通过摄像头捕捉观众眼球活动!为了给大家具体演示该功能的使用,我做了一个案例,供大家参考。实际效果如下:案例比较简单,就是通过眼动功能获取视觉焦点位置,剔除用户看中的牌。现在,舞台的属性中多了一个“启用眼动”的选项,另外,还多了一个“启用摄像头”的...

虚幻引擎5.5发布

IT之家 11 月 13 日消息,虚幻引擎 5.5 现已发布。据介绍,新版本虚幻引擎在动画创作、虚拟制作和移动游戏开发方面取得进步;渲染、摄像机内视觉特效和开发人员迭代等领域的部分功能已可用于生产。IT之家整理部分功能亮点如下:动画Sequencer增强虚幻引擎的非线性动画编辑器 Sequencer...

SpringCloudalibaba+Vue开发仿社交小程序-青牛白马七香车

Spring Cloud Alibaba和Vue是当今开发领域中最为流行的技术组合之一。本文将介绍如何使用Spring Cloud Alibaba和Vue开发仿社交小程序。download: https://www.97yrbl.com/t-1632.html项目概述本项目是一个仿社交小程序,包括用...

vue 异步更新那点事儿 #web前端

异步更新那点事儿。wue & vueuse官方团队成员。看一下群友投稿的问题。什么问题?就是它这边有一个组件,这个组件里面有个userID,然后这个userID通过props传给了子组件,子组件是userinfo,它里面是用来渲染用户信息的。渲染用户信息的同时,userinfo这个组件又暴露...

面试官:给我说说什么是同步异步?

今天是刘小爱自学Java的第95天。感谢你的观看,谢谢你。话不多说,开始今天的学习:一、同步、异步请求浏览器发送请求给服务器,其有同步请求和异步请求两种方式。1同步请求什么叫同步请求呢?就是在发送一个请求之后,需要等待服务器响应返回,才能够发送下一个请求。之前学的请求是通过浏览器地址栏发送请求,这种...