现在ES6增加了很多的字符串的方法,但是有些感觉自己也不是很懂,所以就罗列了一些平常的用的。
includes, startsWith, endsWith
includes(): 返回布尔值,表示是否找到了参数字符串;
startsWith(): 返回布尔值,表示参数字符串是否在源字符串的头部
endsWith(): 返回布尔值,表示参数字符串是否在源字符串的尾部。
使用:
var s = 'Hello world';s.startsWith('Hello');//trues.endsWith('Hello');//trues.includes('o');//true
也都可以支持第二个参数,表示开始搜索的位置。
var s = 'Hello world';s.startsWith('world', 6);//trues.endsWith('Hello', 5);//trues.includes('Hello');//false
repeat()
repeat方法返回一个新的字符串,表示将原字符串重复n次。
'x'.repeat(3)//"xxx"
传入的如果是小数,会被取证;
如果是负数或者Infinity,会报错;NaN等同于0;如果是字符串,则会先转换成数字。padStart、 padEnd
为了补全字符串,引入了padStart和padEnd。如果字符串不够指定长度,会在头部或者尾部补全。
padStart()、padEnd() 共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。'xxx'.padStart(2, 'ab') // 'xxx''xxx'.padEnd(2, 'ab') // 'xxx''abc'.padStart(10, '0123456789') // '0123456abc'
如果第二个参数省略,默认用空格补全长度。
字符串模板
模板字符串,用反引号标识(`),它可以当作普通字符串,也可以定义多行字符串,或者在字符串中嵌入变量。
`In Javascript '\n' is a line-feed.``In Javascript this is not legal.`var name="Bob", time = "today";`Hello ${name}, how are you ${time}?`const tmpl = addrs =>`
${addr.first} |
${addr.last} |
`
还有其他很多方法
String.raw()模板字符串的限制...