This article has been localized into Czech by the community.
Operátory inkrementace/dekrementace
V předchozím článku jsme mluvili o aritmetických operátorech v JavaScriptu - možnosti provádět výpočty. S tím na mysli vám chci představit další typ operátoru: Operátory inkrementace a dekrementace.
Jsou to, co byste mohli nazvat syntaktickým cukrem - mohli byste bez nich žít, ale je hezké je mít a používají se v mnoha kódech, které můžete najít na internetu.
Operátor inkrementace: ++
Předpokládejme, že máte proměnnou a chcete k ní přidat jedničku. Můžeme jednoduše použít operátor sčítání, jak jsme viděli v předchozím článku:
let a = 9;
a = a + 1;
alert(a);
Ale použitím operátoru inkrementace (++) ušetříme pár stisků kláves, ale dosáhneme přesně téhož:
let a = 9;
a++;
alert(a);
Prefix/postfix inkrementace
Operátor inkrementace lze použít i uvnitř příkazu, což nám umožňuje udělat to samé jako výše, ale o jeden řádek kódu méně:
let a = 9;
alert(a++);
Pokud tento příklad spustíte, uvidíte, že to ve skutečnosti není stejný výsledek. V původním příkladu jsme dostali hodnotu 10 v alertu, ale nyní dostaneme 9. Proč? Protože jsme použili postfixovou variantu, kde je operátor inkrementace umístěn za názvem proměnné. Když to uděláme, dostaneme hodnotu vrácenou právě předtím, než je k ní přičtena hodnota. Toto můžeme velmi jednoduše změnit tím, že operátor přesuneme:
let a = 9;
alert(++a);
Toto je prefixová varianta, která vrátí hodnotu po provedení sčítání.
Operátor dekrementace: --
Tak přidání jedničky pomocí operátoru inkrementu je snadné, ale co když chceme místo toho provést odečítání? Jsem si jistý, že jste to už uhodli, ale existuje na to také operátor, který se nazývá operátor dekrementu. Funguje stejně jako operátor inkrementu, ale provádí odečítání místo sčítání.
let a = 11;
a--;
alert(a);
Prefix/postfix dekrementace
A samozřejmě máme také prefixovou a postfixovou variantu operátoru dekrementu:
let a = 11;
alert(--a);
Shrnutí
Operátory inkrementace/dekrementace vám poskytují syntaktickou zkratku pro inkrementaci nebo dekrementaci hodnoty. Hodnota bude vrácena jako výsledek této operace, buď před její úpravou (prefix) nebo po úpravě (postfix).