Úloha 1 – Převod pole na řetězec pomocí toString() a join()
Úvod do úlohy
Pole často potřebujeme nejen ukládat a zpracovávat, ale také zobrazit – například vypsat do konzole, zobrazit na webové stránce nebo uložit jako text. K tomu slouží vestavěné metody toString() a join(). Tyto metody převádějí celé pole na řetězec, ale každá trochu jiným způsobem. Zatímco toString() používá pevně daný oddělovač (čárku), metoda join(separator) nám umožní určit vlastní oddělovač – třeba mezeru, pomlčku nebo i speciální znak. Díky tomu máme nad výstupem větší kontrolu a můžeme jej snadno přizpůsobit požadovanému formátu.
Teorie a principy
-
toString(): převede pole na text, jednotlivé prvky oddělí čárkou. Nemůžeme změnit oddělovač. -
join(separator): převede pole na text, ale oddělovač si zvolíme sami. Pokud nezadáme žádný argument, chová se stejně jakotoString(). -
Implicitní převod na text: když se snažíme pole vypsat do konzole nebo do HTML, JavaScript často volá
toString()automaticky. Proto někdy není potřeba psáttoString()výslovně.
Praktické příklady kódu
1. Použití toString()
2. Použití join() s různými oddělovači
3. Implicitní převod pole na řetězec
Typické chyby / záludnosti
-
Očekávání, že
toString()zachová mezery: metoda vždy odděluje prvky pouze čárkou, nelze to změnit. -
Zapomenutí na argument metody
join: pokud není zadán, výsledek je stejný jakotoString(). -
Nevhodný oddělovač: použití prázdného řetězce
""může způsobit, že se prvky "slejí" dohromady a budou hůře čitelné. -
Nejasnost při výpisu do konzole: při
console.log(pole)se pole vypíše jako struktura (ne text), zatímco při"Text " + poleproběhne převod na řetězec.
Shrnutí
-
toString()převede pole na čárkami oddělený text. -
join(separator)umožňuje určit vlastní oddělovač, takže poskytuje větší flexibilitu. -
Při běžném výpisu (např. konkatenace textu s polem) JavaScript často
toString()volá automaticky. -
Metody nemění pole samotné, jen vracejí řetězec.