反撇号``模板字符
在ES6之前我们给变量赋值多行字符串时,常用的方法是加入转义字符处理换行问题.
反撇号很好的解决了这个问题
let str = `hello,
Ecascript`;
console.log(str);
模板子有个特点定义在反撇号中的字符串,其中的空格\缩进\换行都会被保留.
在之前我们拼接想到的都是+号,在ES6中提供了占位符${}
let str = `haha`;
let message = `i like ${str}`;
consle.log(message);
得出的效果为:i like haha
let name = `js`;
let str = tag`Welcome to ${name}cource`;
这里的模板字面量标签就是tag 但是tag并不是系统自带的,而是我们自己定义声明的.
第一个参数是一个数组,数组中存放着普通的字符串
第一个参数后的参数,都是每一个占位符的解释值.
占位符会访问变量str字符串,将其值插入message中,变量message会一直保留这个结果.
标签模板:
- 过滤 HTML 字符串,防止用户输入恶意内容。
- 多语言的转换。
相当于函数
在ES5 中判断字符串是否包含指定字符串可以用indexof()方法判断,该方法可以返回i某个字符首次出现的位置.在ES6中新增3个方法.
includes()判断是否包含指定字符串,如果包含返回true,不包含返回false.
startWith():判断当前字符串是否以指定的字符串开头,如果包含返回true,不包含返回false.
endsWith():判断当前字符串是否以指定的子字符串结尾,如果是则返回 true,反之 false方法用于返回一个重复
n
次原字符串的新字符串,其参数n
为整数,如果设置n
为小数,会自动转换为整数。
重复字符串:
repeat(n) 方法用于返回一个重复 n
次原字符串的新字符串,其参数 n
为整数,如果设置 n
为小数,会自动转换为整数。
替换字符串:
在 ES5 中有一个 replace()
方法可以替换指定字符串,不过它只能替换匹配到的第一个字符串,如果想匹配整个字符串中所有的指定字符串是很麻烦的。
let str = "Happy new year"; console.log(str.includes("Happy")); console.log(str.startsWith("Happy")); console.log(str.endsWith("year"));
ES6 中,为我们提供了 replaceAll() 方法
使用方式如下:
string.replaceAll("代替换字符","替换后的新字符");
let str = "HELLOWHELLOWHELLO";
console.log(str.replaceAll("W","_"));
后台结果将所有的W替换成_
includes()
、sartsWith()
、endsWith()
来代替 indexOf()
方法判断字符串是否包含指定子串。
-
repeat()
方法自定义次数重复输出指定字符串。 -
replaceAll()
方法来代替了replace()
替换指定字符串。