Parametry ve funkcích jsou srdcem každé programové interakce. V JavaScriptu může správa volitelných parametrů záviset na použité verzi. S ES6 máš nyní elegantní možnost zahrnout volitelné parametry a jejich výchozí hodnoty přímo do definice funkce. V této příručce ti vysvětlím krok za krokem, jak můžeš z této nové syntaxe těžit.
Nejdůležitější poznatky
- S ES6 můžeš vytvářet volitelné parametry a definovat výchozí hodnoty v signatuře funkce.
- Syntaxe je jasnější a snižuje potřebu dalších kontrol, které byly nutné v dřívějších verzích.
Krok za krokem návod
Definice funkce s výchozími hodnotami
Začněme jednoduchou definicí funkce, která má dva parametry – hodnotu, kterou je třeba zvýšit, a přírůstek, který chceš dosáhnout. Nazývám tuto funkci increment. Zde bys měl stanovit název funkce a její parametry.

Parametry definuješ takto: value pro hodnotu a i pro přírůstek. Ve vrácení jednoduše deklaruješ součet těchto dvou parametrů.
Pro první volání funkce můžeš například použít increment(5, 2) a uložit výsledek do proměnné.
Použití výchozích hodnot v signatuře funkce
Aby jsi zlepšil chování funkce, můžeš nastavit výchozí hodnoty pro parametry. Pokud funkci vyvoláš pouze s prvním parametrem, chceš mít výchozí hodnotu pro druhý parametr. Proto můžeš parametr i v signatuře funkce inicializovat pomocí = 1.
Teď zkus funkci znovu s pouze jedním parametrem, např. increment(5). To by mělo vrátit správně 6.
Správa více výchozích hodnot
Je možné přiřadit více parametrů s výchozími hodnotami. Pokud například chceš nastavit výchozí hodnotu value na 5 a i na 1, vypadá funkce takto: function increment(value = 5, i = 1). Pokud nyní zavoláš increment(), měl bys dostat, jak očekáváš, 6.
Tato metodika činí funkci flexibilnější. Měj na paměti, že si můžeš vybrat a standardizovat pouze několik desítek parametrů, v závislosti na tvých potřebách.
Převedení undefined a správa výchozích hodnot
Pokud například předáš první parametr s undefined, použije se výchozí hodnota pro value. Tedy volání vypadá takto: increment(undefined, 5). Výsledek bude 10, protože value je z 5 a i z 5.
Tento postup může vypadat trochu nešikovně, proto je doporučeno umístit výchozí hodnoty obvykle na konec seznamu parametrů.
Použití složitých výchozích hodnot
Můžeš také použít funkce jako výchozí hodnoty. Pokud definuješ funkci getInitValue, která vrací určitou hodnotu, můžeš ji v signatuře funkce použít takto: function increment(value = getInitValue()). Při volání increment() předej výchozí hodnotu.
Je důležité poznamenat, že funkce getInitValue se zavolá pouze tehdy, pokud předáš undefined. To šetří zdroje, pokud výchozí hodnota není nutná.
Poznámka k používání volitelných parametrů
Nová syntaxe pro volitelné parametry v ES6 umožňuje použití otazníku (?) za parametrem ve Visual Studio Code jasně naznačit, že tento parametr je volitelný. Díky tomu můžeš rychle rozpoznat, které parametry můžeš případně vynechat.
Tento jednoduchý způsob definice výchozích hodnot přispívá k tomu, že tvůj kód je přehlednější a snáze udržovatelný.
Závěr k použití volitelných parametrů
Na závěr jsi připraven efektivně používat koncept volitelných parametrů ve svých JavaScript projektech. Velkou výhodou je jasnost a snížení námahy na kontrolu parametrů. Tvůj kód bude nejen čistší, ale také snadněji pochopitelný pro ostatní vývojáře, kteří tvůj kód čtou.
Souhrn – Volitelné funkční parametry v JavaScriptu: Ucelený návod
Použití volitelných funkčních parametrů v JavaScriptu umožňuje elegantně strukturované a čitelné kódování. Naučil jsi se, jak deklarovat výchozí hodnoty, spravovat více parametrů a dokonce používat funkce jako výchozí parametry. Tyto techniky ti pomohou významně zlepšit vývojový proces.
Často kladené dotazy
Co jsou volitelné funkční parametry?Volitelné funkční parametry jsou parametry, které nemusí být při volání funkce nutně uvedeny; mají výchozí hodnoty.
Jak definuji výchozí hodnoty v ES6?Výchozí hodnoty můžeš přiřadit přímo v signatuře funkce pomocí rovná se =.
Jak se naložit s více parametry s výchozími hodnotami?Nastav výchozí hodnoty v definici funkce a zajisti, že budou na konci seznamu parametrů, aby se zvýšila čitelnost.
Kdy je smysluplné používat funkce jako výchozí hodnoty?Je to smysluplné, pokud je výpočet výchozí hodnoty složitý nebo by mohl spotřebovávat dodatečné zdroje – tak se zavolá jen v případě potřeby.
Mohu volitelné parametry kombinovat a přizpůsobovat?Ano, můžeš volitelné parametry a výchozí hodnoty kombinovat, jak potřebuješ; nicméně se doporučuje umístit výchozí hodnoty na konec seznamu parametrů.