⊗jsPmBsPPT 60 of 505 menu

Typ prefiksowy i postfiksowy w JavaScript

W rzeczywistości operacje inkrementacji i dekrementacji można zapisać na dwa sposoby. Przyjrzyjmy się tym sposobom na przykładzie ++, a dla -- wszystko będzie analogiczne.

W pierwszym sposobie operacja jest zapisywana po nazwie zmiennej, w ten sposób: a++, a w drugim sposobie - przed nazwą zmiennej, w ten sposób: ++a.

Pierwsza forma nazywa się postfiksową, a druga - prefiksową. Zobaczmy, w jakich przypadkach pojawia się różnica między tymi dwiema formami.

Załóżmy, że mamy kod alert(a++) i kod alert(++a).

W przypadku alert(a++) zmienna najpierw zostanie wypisana, a następnie zwiększona o jeden, a w przypadku alert(++a) zmienna najpierw zostanie zwiększona o jeden, a następnie wypisana.

W następnym przykładzie pierwszy alert wypisze 0, ponieważ najpierw nastąpi wypisanie na ekran, a dopiero potem zmienna zostanie zwiększona:

let num = 0; alert(num++); // wypisze 0 alert(num); // wypisze 1

A teraz zmienna najpierw zostanie zwiększona, a dopiero potem nastąpi wypisanie na ekran:

let num = 0; alert(++num); // wypisze 1 - zmienna zwiększyła się natychmiast

Takie zachowanie obowiązuje nie tylko dla wypisywania na ekran, ale także dla przypisania:

let num1 = 0; let num2 = num1++; // do zmiennej num2 zostanie zapisane 0 alert(num2); // wypisze 0 alert(num1); // wypisze 1 - zmienna num1 zmieniła się po zapisaniu do num2

A teraz zmieńmy formę postfiksową na prefiksową:

let num1 = 0; let num2 = ++num1; // do zmiennej num2 zostanie zapisane 1 alert(num2); // wypisze 1

Jeśli nasza operacja jest wykonywana w osobnym wierszu, to nie ma różnicy między formami prefiksową i postfiksową:

let num = 0; ++num; num++; alert(num); // wypisze 2

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

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

Bez uruchamiania kodu określ, co zostanie wypisane na ekran:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć