字符串和正则表达式
ES6 为我们增添几个常用的字符串操作方法
-
includes() 方法。检测指定文本,匹配到结果返回true,否则为false。可以用来替换indexOf来判断字符串是否存在于另一个字符串中。
-
"abc".indexOf("a") > -1 => "abc".includes("a")
-
当需要获取字段的索引值时,只能依靠indexOf(或lastIndexOf),匹配到的索引值为字符串第一个字符在 另一个字符串中的位置。
"abcd".indexOf("bc") //1
-
-
startsWith() 方法。在字符串的开始部分是否是以指定文本,是则返回true,反之为false。
-
endsWith() 方法。在字符串的结尾部分是否是以指定文本,是则返回true,反之为false。
-
上面两个方法均可接受两个参数。以startsWith为例。
-
"abc".startsWith('b', 1)
// true-
第一个参数为匹配文本
-
第二个参数设置检测的起始位置
-
endsWith中,第二个参数设置起始位置为
字符长度 - 参数值
-
-
-
repeat() 方法。接收一个number类型参数,表示改字符串的重复次数。
-
"ab".repeat(2) // abab
-
若接收字符串可转为数字。则进行隐式转换。
-
若接收字符串不可转为数字。则返回空。
-
新增3个字符编码的方法。
JavaScript的字符编码方式为 UTF-16 进行构建,即用 16个 0 / 1的组合表示一个字符。
-
编码单元:这16个 0或1 的组合称为一个编码单元。
-
基本多文种平面:编码单元的取值范围称为基本多文中平面。
- 基本多文种平面 -> Basic Multilingual Plane. (以下简称:BMP)
对于超出BMP的字符,16位编码就无法表示了。为此UTF-16引入了代理对,用两个16位编码单元表示一个字符。
-
codePointAt() // 将字符转换为字符编码。
-
对于BMP字符集中的字符,与charCodeAt()效果相同。
"a".charCodeAt() // 97 "a".codePointAt() // 97
-
对于非BMP字符集中的字符,会展示完整的字符编码。
-
"
-
-