在开发中,经常会碰到判断一段字符串中是否包含某项字符的需求,用es5常用的方法通常是indexOf()去解决,例如 :
var str = '这是测试字符串';
if(str.indexOf('测试') != -1){
console.log(true) //包含
}else{
console.log(false) //不包含
}
或者三目也可
str.indexOf('测试') != -1 ? console.log(true) : cosnole.log(false) ;
而es6中新增的字符串方法includes()方法就是为了简化这种需求的判断,因为indexOf()返回的是包含字符串的位置,如果 == -1的话,那也就是不包含这个字符串了,而includes()方法返回的是布尔值,也就是true和false,这样上面的例子就可以简化一下了。
if(str.includes('测试')){
console.log(true); // 包含
}else{
console.log(false) //不包含
}
或者:
str.includes('测试') ? console.log(true) : console.log(false) ;
在开发中还是很常用的。