Úloha 3 – Použití výchozích hodnot u parametrů funkce
Úvod do úlohy
V praxi se často stane, že při volání funkce zapomeneme předat některý argument, nebo ho v daném kontextu ani nepotřebujeme. Bez výchozích hodnot se takový parametr nastaví na undefined a funkce může vracet chybné výsledky. Výchozí (default) parametry umožňují přímo v deklaraci funkce nastavit náhradní hodnoty, které se použijí, pokud volající funkci předá méně argumentů. Díky tomu je kód robustnější, odolný proti chybám a zároveň přehledný.
Teorie a principy
-
Pokud funkce nemá výchozí hodnotu parametru a není předán argument → parametr má hodnotu
undefined. -
Výchozí hodnotu nastavíme přímo v závorce při definici funkce:
-
Defaultní parametr se použije jen tehdy, když hodnota chybí nebo je explicitně
undefined. -
Výchozí parametry nám šetří psaní kontrol typu
if (jmeno == undefined) { jmeno = "host"; }.
Praktické příklady kódu
1. Funkce bez výchozího parametru
2. Funkce s výchozím parametrem
3. Více parametrů s kombinací výchozích hodnoty
Typické chyby / záludnosti
-
Zapomenutí výchozích hodnot – vede k
undefined. -
Domněnka, že všechny chybějící argumenty se nastaví na 0 – ve skutečnosti je
undefined, pokud není výchozí hodnota. -
Nevhodné pořadí parametrů – doporučuje se dávat parametry s výchozími hodnotami spíše na konec.
-
Záměna
nullaundefined– výchozí hodnota se použije jen přiundefined, ne přinull.
Shrnutí – hlavní body k zapamatování
-
Parametr bez argumentu =
undefined. -
Výchozí hodnotu nastavíme přímo v deklaraci funkce.
-
Defaultní parametr se použije pouze při
undefined. -
Pomáhá předcházet chybám a zjednodušuje kontrolu vstupů.
-
Parametry s výchozími hodnotami je lepší psát na konec seznamu.