网站首页 > 文章精选 正文
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)。
如果你对今天所讲的内容感兴趣,不要忘了给我点赞和关注哦。也欢迎你在留言区和我分享交流!
猜你喜欢
- 2025-04-05 半小时,阿包带你学会手撕高阶函数
- 2025-04-05 2021 年 Node.js 开发人员学习路线图
- 2025-04-05 JavaScript中常用数据类型,你知道几个?
- 2025-04-05 JavaScript字符串操作方法大全,包含ES6方法
- 2025-04-05 2025 年 Object 和 Map 如何选择?
- 2025-04-05 React 中Ant Design 使用总结一(react animated)
- 2025-04-05 ES6新特性面试题及答案(es6新特性 面试题)
- 2025-04-05 JavaScript 判断数组的方法总结,哪种最靠谱?
- 2025-04-05 系列专栏(六):解构赋值(5种支持解构赋值的类型)
- 2025-04-05 es6+新增特性有哪些(es6 新增的特性)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)