Запускается со строковым методом с пустой строкой searchString

Почему метод launchWith возвращает true, если searchString пуст. Я думаю, что то же самое в других строковых методах, таких как включает в себя, заканчивается с. Что я могу сделать, если я хочу избежать этого, то есть он должен вернуть false в случае пустого searchString.

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

1 ответ

Потому что он предназначен для возвращения так. Пустые строки обозначают наличие 0 символов. Вот почему каждая строка, по крайней мере, начинается с пробела.

Если вы все еще хотите вернуться false, вы можете сделать это так:

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

Сначала проверьте булевский эквивалент строки проверки, чтобы, если она пуста, возвращаемое значение false,

Другие вопросы по тегам