Úloha 2 – Složené přiřazovací operátory (+=, -=, =, /=)
Úvod do úlohy
Když píšeme programy, často pracujeme se vzorcem typu „vezmi stávající hodnotu a přičti k ní něco navíc“. Pokud bychom pokaždé psali plný tvar x = x +
y;, byl by kód zbytečně dlouhý a méně přehledný. Proto JavaScript (a většina dalších jazyků) nabízí zkrácené přiřazovací operátory, které spojují aritmetickou operaci s přiřazením do jediné konstrukce. Díky nim se kód zkracuje, je čitelnější a působí profesionálně.
Teorie a principy
Zkrácené přiřazovací operátory fungují tak, že:
je vždy ekvivalentní zápisu
K dispozici jsou zejména tyto:
-
+=… přičtení:x += y↔x = x + y -
-=… odečtení:x -= y↔x = x - y -
*=… násobení:x *= y↔x = x * y -
/=… dělení:x /= y↔x = x / y -
%=… zbytek po dělení:x %= y↔x = x % y
Výhodou je nejen kratší zápis, ale také jasné vyjádření úmyslu – z kontextu je hned patrné, že měníme proměnnou „sama se sebou“.
Praktické příklady kódu
Základní použití
Použití v cyklu
Při práci s textem (konkrétně +=)
Typické chyby / záludnosti
-
Záměna významu: Někteří studenti si myslí, že
x += yje nový speciální operátor, ale je to jen zkrácený zápis již známéhox = x + y. -
Použití s nevhodnými typy:
-
+=s číslem a textem způsobí řetězení řetězců, ne aritmetiku: -=s číslem a textem způsobí převod textu na číslo:
-
-
Nepřehlednost při nadměrném používání: I když je zkrácený zápis úsporný, někdy je lepší napsat delší variantu pro větší srozumitelnost (např. u složitých výrazů).
Shrnutí
-
Zkrácené přiřazovací operátory kombinují aritmetiku a přiřazení.
-
x += yje totéž cox = x + y(a obdobně pro-=,*=,/=,%=). -
Výhoda: kratší a přehlednější zápis.
-
Pozor na chování s řetězci a na příliš komplikované výrazy, kde by kratší varianta mohla být méně čitelná.