一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情。
Unicode支持
早期,由于存储空间宝贵,Unicode使用16位二进制来存储文字。我们将一个16位的二进制编码叫做一个码元(Code Unit)。
后来,由于技术的发展,Unicode对文字编码进行了扩展,将某些文字扩展到了32位(占用两个码元),并且,将某个文字对应的二进制数字叫做码点(Code Point)。
ES6为了解决这个困扰,为字符串提供了方法:codePointAt,根据字符串码元的位置得到其码点。
同时,ES6为正则表达式添加了一个flag: u,如果添加了该配置,则匹配时,使用码点匹配。
字符串API
以下均为字符串的实例(原型)方法
- includes
判断字符串中是否包含指定的子字符串
有两个参数第一个是要查找的子字符串,第二个是从第几个下标开始
- startsWith
判断字符串中是否以指定的字符串开始
有两个参数第一个是要查找的开始子字符串,第二个是从第几个下标开始
- endsWith
判断字符串中是否以指定的字符串结尾
有两个参数第一个是要查找的结尾子字符串,第二个是截止下标
- repeat
将字符串重复指定的次数,然后返回一个新字符串
有一个参数为重复的次数。
模板字符串
ES6之前处理字符串繁琐的两个方面:
- 多行字符串
- 字符串拼接
在ES6中,提供了模板字符串的书写,可以非常方便的换行和拼接,要做的,仅仅是将字符串的开始或结尾改为 ` 符号
如果要在字符串中拼接js表达式,只需要在模板字符串中使用
${JS表达式}