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:
let 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:
let 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:
let 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:
let 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:
let num = 0;
++num;
num++;
alert(num); // 2 yazdırır
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num = 3;
alert(++num);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num = 3;
alert(num++);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num = 3;
alert(--num);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num = 3;
alert(num--);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Kodu çalıştırmadan, ekrana ne yazdırılacağını belirleyin:
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);