扫码一下
查看教程更方便
要检查字符串是否不包含子字符串,使用逻辑 非 (!)
运算符来否定对 includes()
方法的调用。 非 (!)
运算符在调用真值时返回假,反之亦然。
const str = 'hello world';
if (!str.includes('bye')) {
console.log('字符串不包含子字符串');
} else {
console.log('字符串包含子字符串');
}
我们使用逻辑 非 (!)
运算符来否定对 String.includes
方法的调用。
在示例中,我们检查值 bye 是否包含在字符串 hello world 中。
const str = 'hello world';
console.log(str.includes('bye')); // false
console.log(!str.includes('bye')); // true
如果我们在没有逻辑 非 (!)
运算符的情况下使用 includes
方法,则如果值包含在字符串中,则返回 true,否则返回 false。
如果字符串中不包含该值,则通过对 includes 方法的返回值求反。
以下是使用逻辑非 (!) 运算符的更多示例。
console.log(!true); // false
console.log(!false); // true
console.log(!'hello'); // false
console.log(!''); // true
console.log(!null); // true
我们可以想象逻辑 非 (!)
运算符首先将值转换为布尔值,然后翻转该值。
当你否定一个假值时,操作符返回真,在所有其他情况下它返回假。
Falsy 值为:null、undefined、空字符串、NaN、0 和 false。
Internet Explorer 不支持
String.includes
方法。 如果必须要支持浏览器,可以改用indexOf
方法。
要检查字符串是否不包含子字符串,可以调用字符串的 indexOf()
方法,将子字符串作为参数传递给它。 如果 indexOf
方法返回 -1,则子字符串不包含在字符串中。
const str = 'hello world';
if (str.indexOf('bye') === -1) {
console.log('字符串不包含子字符串');
} else {
console.log('字符串包含子字符串');
}
String.indexOf
方法返回字符串中第一次出现的值的索引。 如果该值不包含在字符串中,则该方法返回 -1。
如果满足条件并且 if 块运行,我们可以确定提供的值不包含在字符串中。