Proč IndexOf vrací -1?

-1 znamená "nenalezena žádná shoda".

Důvod, proč vrací -1 místo "false", je ten, že jehla na začátku řetězce by byla na pozici 0, což je v Javascriptu ekvivalentní false. Takže vrácení -1 zajišťuje, že víte, že ve skutečnosti neexistuje shoda.


-1 znamená, že nebyla nalezena žádná shoda. "dobré" v této větě není. Toto je zdokumentované chování.

indexOf() metoda vrací první index, na kterém lze daný prvek v poli nalézt, neboli -1 pokud není přítomen.


Protože pole jsou založena na 0, vrácení 0 by znamenalo, že počínaje od prvního znaku bylo shodné; 1, druhý znak a tak dále. To znamená, že cokoli 0 a vyšší by bylo pravdivou nebo „nalezenou“ odpovědí. Aby vše zůstalo v kategorii integer, -1 znamená, že nebyla nalezena žádná shoda.