Úvod do úlohy

Při programování je přiřazování jednou z nejzákladnějších operací. Bez možnosti uložit si hodnotu do proměnné nebo nastavit vlastnost objektu bychom jen těžko psali smysluplné aplikace. V JavaScriptu (a v dalších jazycích) se o přiřazení starají tzv. přiřazovací operátory. Nejjednodušší z nich je samotné =, které znamená: „Vezmi hodnotu vpravo a ulož ji do místa vlevo.“ Ačkoli to na první pohled vypadá triviálně, správné pochopení je klíčem k tomu, aby kód fungoval předvídatelně a nevznikaly chyby.


Teorie a principy

  • Základní tvar: levýOperand = pravýOperand

    • Levý operand musí být něco, co lze změnit – tedy proměnná, vlastnost objektu nebo konkrétní prvek pole.

    • Pravý operand může být libovolný výraz – číslo, text, výsledek funkce, aritmetický výpočet apod.

  • Přiřazení není porovnání: pozor na záměnu = (přiřazení) a == či === (porovnání).

  • Řetězení přiřazení: v JavaScriptu lze napsat a = b = 5;, což je platné, ale může být matoucí – nejprve se vyhodnotí b = 5, které vrátí hodnotu 5, a ta se pak přiřadí do a.

Vedle základního = existují i zkrácené přiřazovací operátory, např. +=, -=, *=, které kombinují aritmetiku a přiřazení. Ty ale přijdou na řadu až později – nejprve je třeba mít jasno v samotném =.


Praktické příklady kódu

Přiřazení do proměnné

Přiřazení do vlastnosti objektu

Přiřazení do pole

Řetězení přiřazení


Typické chyby / záludnosti

  • Záměna = s == nebo ===:

    Tento kód vždy nastaví x na 5 a podmínka bude pravdivá (protože 5 je truthy).

  • Pokus přiřadit hodnotu do literálu:

     
  • Nepřehledné řetězení přiřazení: může sice fungovat, ale ztěžuje čitelnost.


Shrnutí

  • Operátor = slouží k přiřazení hodnoty z pravého operandu do levého.

  • Levý operand musí být něco, co lze měnit (proměnná, vlastnost objektu, prvek pole).

  • Pravý operand může být libovolný výraz.

  • Přiřazení není totéž co porovnání (==, ===).

  • Dávejte pozor na čitelnost – vyhněte se složitému řetězení přiřazení.