Tipe Prefix dan Postfix dalam JavaScript

Sebenarnya operasi increment dan decrement dapat ditulis dengan dua cara. Mari kita bahas cara-cara ini menggunakan contoh ++, dan untuk -- semuanya akan serupa.

Cara pertama, operasi ditulis setelah nama variabel, seperti ini: a++, sedangkan cara kedua - sebelum nama variabel, seperti ini: ++a.

Bentuk pertama disebut postfix, dan bentuk kedua - prefix. Mari kita lihat, dalam kasus apa perbedaan antara kedua bentuk ini muncul.

Misalkan kita memiliki kode alert(a++) dan kode alert(++a).

Dalam kasus alert(a++), variabel pertama-tama akan ditampilkan, kemudian bertambah satu, sedangkan dalam kasus alert(++a), variabel pertama-tama bertambah satu, kemudian ditampilkan.

Dalam contoh berikut, alert pertama akan menampilkan 0, karena pada awalnya yang bekerja adalah penampilan ke layar, dan baru kemudian variabel bertambah:

javascriptlet num = 0;
alert(num++); // akan menampilkan 0
alert(num);   // akan menampilkan 1

Sekarang variabel akan bertambah terlebih dahulu, lalu baru ditampilkan ke layar:

javascriptlet num = 0;
alert(++num); // akan menampilkan 1 - variabel bertambah segera

Perilaku seperti ini tidak hanya berlaku untuk penampilan ke layar, tetapi juga untuk penugasan:

javascriptlet num1 = 0;
let num2 = num1++; // variabel num2 akan berisi 0
alert(num2); // akan menampilkan 0
alert(num1); // akan menampilkan 1 - variabel num1 berubah setelah ditulis ke num2

Sekarang mari ubah bentuk postfix menjadi prefix:

javascriptlet num1 = 0;
let num2 = ++num1; // variabel num2 akan berisi 1
alert(num2); // akan menampilkan 1

Jika operasi kita dilakukan pada baris yang terpisah, maka tidak ada perbedaan antara bentuk prefix dan postfix:

javascriptlet num = 0;
++num;
num++;
alert(num); // akan menampilkan 2
Задание 1

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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