Я сегодня немного запутался, "string".indexOf('');
всегда возвращает 0
, но я ожидал -1
(для false
); наоборот, "string".lastIndexOf('');
всегда возвращает 6
lastIndexOf
легче понять, поскольку строка состоит из 6 букв ("string".length
, при нулевом индексе возвращается 5
), но я нигде не вижу в спецификации ECMAscript (5.1 или 6.0), который описывает, почему ''
будет обрабатываться как граница слова / символа.
Что именно здесь происходит?
''
рассматривается как граница слова / символа. - person PitaJ   schedule 14.10.2015indexOf()
возвращает первое вхождение найденного совпадения и возвращает-1
только, если строка вообще не найдена. - person Etheryte   schedule 14.10.2015''
рассматривается как ... ммммм ... пустая строка. Первое появление пустой строки внутри другой строки находится в самом ее начале. - person   schedule 14.10.2015