Predponski in priponski tip v JavaScript

Pravzaprav lahko operaciji inkrementa in dekrementa zapišemo na dva načina. Oglejmo si te načine na primeru ++, za -- pa bo vse podobno.

Pri prvem načinu se operacija zapiše za imenom spremenljivke, takole: a++, pri drugem načinu pa pred imenom spremenljivke, takole: ++a.

Prva oblika se imenuje priponska, druga pa predponska. Oglejmo si, v katerih primerih se pokaže razlika med tema dvema oblikama.

Recimo, da imamo kodo alert(a++) in kodo alert(++a).

V primeru alert(a++) se spremenljivka najprej izpiše, nato pa poveča za ena, v primeru alert(++a) pa se spremenljivka najprej poveča za ena, nato pa izpiše.

V naslednjem primeru bo prvi alert izpisal 0, kajti najprej se bo zgodil izpis na zaslon, šele nato se bo spremenljivka povečala:

javascriptlet num = 0;
alert(num++); // izpiše 0
alert(num);   // izpiše 1

Tukaj pa se bo spremenljivka najprej povečala, šele nato pa bo prišlo do izpisa na zaslon:

javascriptlet num = 0;
alert(++num); // izpiše 1 - spremenljivka se je povečala takoj

Takšno vedenje velja ne le za izpis na zaslon, temveč tudi za prirejanje:

javascriptlet num1 = 0;
let num2 = num1++; // v spremenljivko num2 se zapiše 0
alert(num2); // izpiše 0
alert(num1); // izpiše 1 - spremenljivka num1 se je spremenila po zapisovanju v num2

Zdaj pa zamenjajmo priponsko obliko s predponsko:

javascriptlet num1 = 0;
let num2 = ++num1; // v spremenljivko num2 se zapiše 1
alert(num2); // izpiše 1

Če se naša operacija izvede v ločeni vrstici, ni razlike med predponsko in priponsko obliko:

javascriptlet num = 0;
++num;
num++;
alert(num); // izpiše 2
Задание 1

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num = 3;
alert(++num);
Задание 2

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num = 3;
alert(num++);
Задание 3

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num = 3;
alert(--num);
Задание 4

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num = 3;
alert(num--);
Задание 5

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Задание 6

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Задание 7

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Задание 8

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

javascriptlet num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Задание 9

Brez zaganjanja kode določi, kaj se bo izpisalo na zaslon:

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