一、字符串查找
indexOf是基本的查找字符串验证的方法,在ES6中,又新增3种查找字符串方法:1、includes() 2、startsWith() 3、endsWith()
includes() 返回值为布尔值,表示是否找到该字符串。例:
const s = 'Hello world!';
s.includes('o'); // true
startsWith() 返回值为布尔值,表示参数字符串是否在源字符串的头部。例:
const s = 'Hello world!';
s.startsWith('H'); // true
s.startsWith('e'): // false
endsWith() 返回值为布尔值,表示参数字符串是否在源字符串的尾部。例:
const s = 'Hello world!';
s.endsWith('H'); // false
s.endsWith('!'): // true
这三个方法都支持带第二个参数
includes(string,5)
startsWith(string,5)
endsWith(string,5)
第二个参数表示开始搜索的位置,从源字符串第几位开始搜索
二、字符串重复
repeat()方法,返回一个新的字符串,表示将原来的字符串,重复N次操作。例:
'hello'.repeat(3) // 'hellohellohello'
参数可以为小数(自动取整),整数,不能是负数(但0~-1之间的小数可以,因为当以小数为参数时,会自动取整,此时的值等同0)
三、字符串补全
ES2017引入了字符串补全长度功能,padStart()用于头部补全、padEnd()用于尾部补全,参数包含2个,第一个为指定的新长度,第二个为用什么字符串补全。例:
'x'.padStart(5,'ac') // 'acacx'
'x'.padEnd(5,'ac') // 'xacac'
1、如果原始字符串长度大于或等于你指定的新长度,则返回原字符串
2、如果用来补全的字符串长度加原始字符串长度超过指定长度,则会截取超出的位数补全字符串
3、如果不指定第二参数(补全字符串),则会以空格来补全
四、字符串模版
传统的javascript输出模版是通过字符串拼接的模式输出的,ES6引入了模版字符串来解决这个问题。通过使用反引号(`)标识。可以当做普通字符串使用,或定义多行字符串,字符串嵌入变量等使用方式。例:
// 普通字符串
`this is javascript`
// 多行字符串
`this
is
javascript`
// 字符串嵌入变量
const name = 'Tom';
`hello ${name},how old are you?` // 等同于 'hello ' + name + ',how old are you?'
字符串模版还可以通过调用函数来实现,例:
function fn(){
return 'hello world'
}
`foo ${fun()} bar`
// foo hello world bar
大括号内必须是要执行的javascript代码,如果大括号内是个字符串,将会原样输出