⊗jsPmBsPPT 60 of 505 menu

Prefixový a postfixový typ v JavaScriptu

Operace inkrementace a dekrementace lze ve skutečnosti zapsat dvěma způsoby. Pojďme se na tyto způsoby podívat na příkladu ++, a pro -- to bude analogické.

V prvním způsobu se operace zapíše za název proměnné, takto: a++, a ve druhém způsobu - před název proměnné, takto: ++a.

První forma se nazývá postfixová, a druhá - prefixová. Pojďme se podívat, v jakých případech se projevuje rozdíl mezi těmito dvěma formami.

Předpokládejme, že máme kód alert(a++) a kód alert(++a).

V případě alert(a++) se proměnná nejprve vypíše a poté zvýší o jednu, a v případě alert(++a) se proměnná nejprve zvýší o jednu a poté se vypíše.

V následujícím příkladu první alert vypíše 0, protože nejprve dojde k výpisu na obrazovku a teprve poté se proměnná zvýší:

let num = 0; alert(num++); // vypíše 0 alert(num); // vypíše 1

A nyní se proměnná nejprve zvýší a až poté dojde k výpisu na obrazovku:

let num = 0; alert(++num); // vypíše 1 - proměnná se zvýšila okamžitě

Toto chování platí nejen pro výpis na obrazovku, ale i pro přiřazení:

let num1 = 0; let num2 = num1++; // do proměnné num2 se zapíše 0 alert(num2); // vypíše 0 alert(num1); // vypíše 1 - proměnná num1 se změnila po zápisu do num2

A nyní změníme postfixovou formu na prefixovou:

let num1 = 0; let num2 = ++num1; // do proměnné num2 se zapíše 1 alert(num2); // vypíše 1

Pokud se naše operace provádí na samostatném řádku, pak není rozdíl mezi prefixovou a postfixovou formou:

let num = 0; ++num; num++; alert(num); // vypíše 2

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num = 3; alert(++num);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num = 3; alert(num++);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num = 3; alert(--num);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num = 3; alert(num--);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

Bez spuštění kódu určete, co se vypíše na obrazovku:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout