Úloha 1 – Interpolace a escapování v praxi
Úvod do úlohy
Textové řetězce patří k úplným základům programování v JavaScriptu, protože se s nimi setkáme téměř všude: zobrazování zpráv pro uživatele, práce s formuláři, ukládání dat nebo komunikace se serverem. Abychom mohli řetězce správně používat, musíme si osvojit, jak je správně zapisovat a jak odlišovat různé způsoby zápisu. Pokud zapomeneme na uvozovky, JavaScript nebude vědět, že jde o text, a pokusí se výraz vyhodnotit jako název proměnné nebo příkaz.
Teorie a principy
-
Tři způsoby zápisu řetězců
-
Jednoduché uvozovky
'...'– vhodné pro běžný text. -
Dvojité uvozovky
"..."– funkčně stejné, jen jiný styl. -
Backticky `...` (template literals) – umožňují vícenásobné řádky a vkládání proměnných pomocí
${}.
-
-
Bez uvozovek to není text
-
Pokud napíšeme
Ahojbez uvozovek, JavaScript si myslí, že jde o jméno proměnné. -
Proto je nutné text vždy uzavírat do
'...',"..."nebo`...`.
-
-
Escape sekvence
-
Když potřebujeme do řetězce vložit speciální znak (uvozovku, nový řádek, zpětné lomítko), použijeme tzv. escape sekvenci:
-
\'→ apostrof uvnitř'...' -
\"→ uvozovka uvnitř"..." -
\\→ samotné zpětné lomítko -
\n→ nový řádek -
\t→ tabulátor
-
-
-
Template literals a interpolace
-
Zápis pomocí backticků
`...`umožňuje vložit do textu přímo hodnoty proměnných:
-
Praktické příklady kódu
Typické chyby / záludnosti
-
Zapomenuté uvozovky → JavaScript hledá proměnnou místo textu.
-
Špatně uzavřené řetězce → jeden typ uvozovky na začátku a jiný na konci (např.
'text"). -
Nepoužití escape sekvencí → uvozovka uvnitř textu způsobí chybu:
-
Záměna za šablonové řetězce → interpolace (
${}) funguje jen uvnitř backticků, ne v'...'nebo"...".
Shrnutí
-
Řetězce zapisujeme do jednoduchých, dvojitých uvozovek nebo backticků.
-
Bez uvozovek JavaScript nerozezná text od proměnné.
-
Pro speciální znaky používáme escape sekvence (
\n,\",\\…). -
Template literals (
`...`) umožňují víceřádkový text a vkládání proměnných pomocí${}. -
Největší chybou začátečníků je zapomenout uvozovky nebo nevhodně smíchat typy uvozovek.