includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
经过babel的转换后
其实原理就是字符串拼接。所以如果${}中不是字符串,则会类型转换成字符串
标签模板
标签模板更多的是用来自定义拼接规则的。
手写startsWith、endsWite、includes
v8 js源码中的startsWith
includes
repeat方法返回一个新字符串,表示将原字符串重复n次。
如果repeat的参数是负数或者Infinity,会报错。
v8 js源码中的repeat
fromCharCode不能识别码点大于0xFFFF的字符。需要使用fromCodePoint
同样charCodeAt无法识别大于0xFFFF的字符 需要使用codePointAt
得到一个字符串码点的真实长度:
以下均为字符串的实例(原型)方法。
1. includes : 判断字符串中是否包含指定的子字符串。
includes(str, index)
第二个参数index表示从哪个位置开始查找。
2. startsWith : 判断字符串中是否以指定的字符串开始。
startsWith(str, index)
第二个参数index表示从哪个位置开始是否是以str开头。
3. endsWidth : 判断字符串中是否以指定的字符串结尾。
4. repeat : 将字符串重复指定的次数,返回新的字符串。
标记名:y
含义:匹配时,完全按照正则对象中的lastIndex位置开始匹配,并且匹配的位置必须在lastIndex位置。
ES6之前处理字符串繁琐的两个方面:
在ES6中,提供了模板字符串的书写,可以非常方便换行和拼接,要做的,仅仅是将字符串的开始或结尾改完 ``符号。
如果要在字符串中拼接js表达式,只需要在模板字符串中使用 ${js表达式} 。表达式可以是任何有意义的数据,表达式可以嵌套。
实现方式:
未标记前:
标记后:
在模板字符串书写之前,可以加上标记:
标记是一个函数,函数参数如下: