ES6字符串方法
本系列属于阮一峰老师所著的ECMAScript 6 入门学习笔记
includes()
返回布尔值,表示是否找到了参数字符串
startsWith()
返回布尔值,表示参数字符串是否在原字符串的头部
endsWith()
返回布尔值,表示参数字符串是否在原字符串的尾部
let s = 'Hello world'
s.includes() // true
s.startsWith('Hello') // true
s.endsWith('!') // true
// 支持第二个参数,表示开始搜索的位置
s.includes('Hello',6) // false
s.startsWith('world',6) // true
s.endsWith('Hello',5) // true 针对前5个字符串
repeat()
repeat()返回一个新字符串,表示将原字符串重复n次
'x'.repeat(3) // 'xxx'
// 参数如果是整数会被取整
'na'.repeat(2.9) // 'nana'
padStart()
如果某个字符串不够指定长度,padStart用于在头部补全
padEnd()
如果某个字符串不够指定长度,padEnd用于在尾部补全
// 接收两个参数,第一个参数指定字符串的最小长度,第二个参数为用来补全的字符串,如果省略第二个参数,默认使用空格补全
'x'.padStart(5,'ab') // 'ababx'
'x'.padStart(4,'ab') // 'abax'
'x'.padEnd(5,'ab') // 'xabab'
'x'.padEnd(4,'ab') // 'xaba'
模板字符串
// 用于拼接字符串
let x = 1
let y = 2
`${x}+${y}=${x+y}` // '1+2=3'
// 调用函数
function fn(){
return 'Hello World'
}
`foo ${fn()} bar` // foo Hello World bar
//引用模板字符串本身
let str = 'return ' + '`Hello ${name}!`'
let func = new Function('name',str)
func('Jack') // 'Hello Jack'
标签模板
// 模板字符串紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串
alert`123` // 等同于 alert(123)
let a = 5
let b = 10
tag`Hello ${a+b} world ${a*b}` // 等同于tag(['Hello ',' world',''],15,50)

浙公网安备 33010602011771号