es6对字符串做了很多的扩展,下面简单介绍一下。
特性:
- 模板字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。模板字符串中嵌入变量,需要将变量名写在${}之中。大括号内部可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。
let obj = {x: 1, y: 2};
`${obj.x + obj.y}` //3
- String.raw()方法可以作为处理模板字符串的基本方法,它会将所有变量替换,而且对斜杠进行转义,方便下一步作为字符串来使用。
String.raw(`Hi\n${2+3}!`); // "Hi\\n5!"
- 新增方法
// repeat方法返回一个新字符串,表示将原字符串重复n次。
'hello'.repeat(2) // "hellohello"
//padStart()用于头部补全,padEnd()用于尾部补全。第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
//如果省略第二个参数,默认使用空格补全长度。常见用途是为数值补全指定位数。另一个用途是提示字符串格式。
'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"
// includes():返回布尔值,表示是否找到了参数字符串。
// startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
// endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
// 这三个方法都支持第二个参数,表示开始搜索的位置。