带有空搜索串的Startswith字符串方法



为什么startswith方法在搜索串为空时会返回true。我在其他字符串方法中都认为,例如endswith。如果我想避免它,我该怎么办,即应该在空的搜索串中返回false。

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

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

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

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

首先检查相当于Checter字符串的布尔值,因此,如果为空,则返回值将变为false

最新更新