String类型的扩展
模板字符串
模板字符串是字符串的增强版,既可以当做普通的字符串使用,也可以在字符串中嵌入变量,它用反引号`来表示。
//普通字符串
`In javascript '\n' is a line-feed.`
//多行字符串
`In javascript this is
not legal.
`
//字符串嵌入变量
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}`
var x = 1;
var y = 2;
console.log(`${x} + ${y} = ${x + y})
${}中可以包括任意的javascript表达式,包括运算表达式、对象属性、函数的调用
模板标签
模板标签其实就是上面的模板字符串,用翻译好定义的字符串,标签是一个函数,一个专门处理模板字符串的函数。
var name = "张三";
var height = 1.8;
tabFn`他叫${name},身高${height}米。`;
function tagFn(ar, v1, v2){
console.log(arr);//["他叫",",身高","米。"]
console.log(v1);//张三
console.log(v2);//1.8
}
repeat函数
repeat()函数:将目标字符串重复N次,返回一个新的字符串,原字符串不改变
var name1 = "john";
var name2 = name1.repeat(3);
console.log(name1);//john
console.log(name2);//johnjohnjohn
includes函数
includes()函数:判断字符串中是否含有指定的子字符串,返回true表示含有false表示不含有,第二个参数选填,表示开始搜索的位置
startsWith函数
startsWith()函数:判断指定的子字符串是否出现在目标字符串的开头位置,第二个参数选填,表示开始搜索的位置
endsWith函数
endsWith()函数:判断子字符串是否出现在目标字符串的尾部位置,第二个参数选填,表示针对前N个字符
String.raw函数
String.raw()函数:返回字符串的原始样貌,即使字符串中含有转义字符,也视而不见,直接输出。