为什么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
。