Úvod do úlohy

Pokud chceme pracovat s textem podrobněji, často potřebujeme zjistit jeho délku nebo přistupovat k jednotlivým znakům podle jejich pozice. Typickým příkladem je kontrola, zda má uživatelské jméno alespoň určitý počet znaků, nebo zjištění prvního písmene v řetězci. JavaScript k tomu nabízí hned několik způsobů, které se liší pohodlností, podporou speciálních případů (např. záporné indexy) i zpětnou kompatibilitou. Umět se mezi těmito možnostmi rozhodnout je důležité pro psaní jasného a spolehlivého kódu.


Teorie a principy

  1. Délka řetězce (length)

    • Vlastnost length vrací počet znaků v řetězci.

    • Hodí se pro cykly, validaci vstupů nebo zjištění pozice posledního znaku.

  2. Metoda charAt(index)

    • Vrací znak na zadané pozici.

    • Pokud je index mimo rozsah, vrátí prázdný řetězec "".

    • Funguje od začátku JavaScriptu, takže je velmi spolehlivá.

  3. Metoda at(index)

    • Modernější varianta.

    • Podporuje záporné indexy, takže -1 znamená „poslední znak“, -2 předposlední atd.

    • Pokud je index mimo rozsah, vrátí undefined.

  4. Přístup pomocí hranatých závorek []

    • Umožňuje napsat text[0] místo text.charAt(0).

    • Je stručný, ale neumí záporné indexy a u neplatné pozice vrací undefined.

    • Starší prohlížeče tuto možnost nemusí plně podporovat.


Praktické příklady kódu


Typické chyby / záludnosti

  • Záměna prázdného řetězce a undefined

    • charAt() mimo rozsah vrací "",

    • at() nebo [] mimo rozsah vrací undefined.

    • Studenti si to často pletou.

  • Snaha použít záporné indexy v hranatých závorkách nebo charAt()

  • Zapomenutí, že indexování začíná od nuly

    • jmeno.charAt(0) je první znak.

    • jmeno.charAt(jmeno.length - 1) je poslední znak.


Shrnutí

  • length → vrací počet znaků.

  • charAt(index) → spolehlivý, vrací znak nebo prázdný řetězec.

  • at(index) → moderní, podporuje záporné indexy, vrací undefined mimo rozsah.

  • [] → stručný zápis, neumí záporné indexy, vrací undefined.

  • Indexování vždy začíná od 0.