Запускается со строковым методом с пустой строкой 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
,