startsWith带有空searchString的字符串方法

时间:2018-03-30 03:15:14

标签: javascript string-function

为什么在searchString为空时,startsWith方法返回true。我认为在其他字符串方法中也是如此,例如includes,endsWith。如果我想避免它,我该怎么办,即在空searchString的情况下应该返回false。

var haystack = 'Hello World!', needle ='';
console.log( haystack.startsWith( needle ) );

1 个答案:

答案 0 :(得分:3)

因为它旨在返回。空字符串表示存在0个字符。这就是为什么在某种程度上,每个字符串至少都以空白开头。

如果您仍想返回false,可以这样做:



var haystack = 'Hello World!',
  needle = '';
console.log(Boolean(needle) && haystack.startsWith(needle));




首先检查检查器字符串的布尔等价物,如果它为空,则返回值为false