JavaScript'te Ön Ek ve Son Ek Türleri

Aslında artırma ve azaltma işlemleri iki şekilde yazılabilir. Bu yöntemleri ++ örneği üzerinde inceleyelim, -- için de durum aynı olacaktır.

İlk yöntemde işlem değişken adından sonra yazılır, şu şekilde: a++, ikinci yöntemde ise - değişken adından önce yazılır, şu şekilde: ++a.

İlk forma son ek denir, ikincisine ise - ön ek. Bu iki form arasındaki farkın hangi durumlarda ortaya çıktığına bakalım.

Elimizde alert(a++) kodu ve alert(++a) kodu olsun.

alert(a++) durumunda değişken önce ekrana yazdırılır, sonra bir artırılır, alert(++a) durumunda ise değişken önce bir artırılır, sonra ekrana yazdırılır.

Aşağıdaki örnekte ilk alert 0 yazdıracaktır, çünkü önce ekrana yazdırma işlemi gerçekleşir, ardından değişken artırılır:

javascriptlet num = 0;
alert(num++); // 0 yazdırır
alert(num);   // 1 yazdırır

Şimdi ise değişken önce artırılacak, ardından ekrana yazdırılacak:

javascriptlet num = 0;
alert(++num); // 1 yazdırır - değişken hemen artırıldı

Bu davranış sadece ekrana yazdırma için değil, atama işlemi için de geçerlidir:

javascriptlet num1 = 0;
let num2 = num1++; // num2 değişkenine 0 yazılır
alert(num2); // 0 yazdırır
alert(num1); // 1 yazdırır - num1 değişkeni num2'ye yazdıktan sonra değişti

Şimdi son ek formunu ön ek formuyla değiştirelim:

javascriptlet num1 = 0;
let num2 = ++num1; // num2 değişkenine 1 yazılır
alert(num2); // 1 yazdırır

Eğer işlemimiz ayrı bir satırda gerçekleşiyorsa, ön ek ve son ek formları arasında bir fark yoktur:

javascriptlet num = 0;
++num;
num++;
alert(num); // 2 yazdırır
Задание 1

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:

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