myNotlar Logo

Koşul (Soru İşareti) Operatörü


JavaScript dahilindeki tek 3 operandlı operatör olan Koşul Operatörü, if..else karşılaştırma deyimine benzer karşılaştırma yapılmasını sağlar. Başka bir deyişle, if..else deyiminin kısaltılmış, sonuç döndürebilen şeklidir.

Koşul operatörü, C, C++, C# ve Java programlama dillerinde de aynı şekilde kullanılır.

İngilizcesi "Conditional operator" olan bu operatörü, "Koşul operatörü", "Koşullu operatör" veya "Soru İşareti Operatörü" olarak görebilirsiniz.

Koşul operatörü, if..else deyiminde olduğu gibi bir karşılaştırma yapılmasını ve bu karşılaştırma sonucunun true veya false olmasına göre belirtilen değerlerin dönmesini veya JavaScript kodlarının çalıştırılmasını sağlar. Bir Soru İşareti ve iki noktadan oluşan Koşul operatöründe soru işaretinden önce karşılaştırma ifadesi gelir. Bu karşılaştırmanın sonucunun olumlu (true) olması durumunda işlenecek deyim, soru işareti ile iki nokta arasına, olumsuz (false) olması durumunda işlenecek deyim iki noktadan sonra gelir.

Koşul operatörünün en yalın hali aşağıda gösterilmiştir.

sonuc = karsilastirma ? Olumlu : Olumsuz

if(karsilastirma)
{
   Olumlu // JavaScript kodları
}
else
{
   Olumsuz // JavaScript kodları
}

Aşağıdaki örnek koşul operatörü ile 2'nin 2'ye eşit olup olmadığının kontrolünü ve dönen değerin if..else ile kontrol edilerek uyarı gösterilmesini göstermektedir.

<script type="text/javascript">
function sonucGoster()
{
    var sonuc = 2 == 2 ? true : false;
    if(sonuc)
        alert("2 sayısı 2 sayısına eşittir!");
    else
        alert("2, 2'ye eşit değildir!");
}
</script>

<input type="button" value="Göster" onClick="sonucGoster()"/>

Koşul operatörünün tanımında, değer döndürebildiğini belirtmiştik. Üstteki örnekte de görüldüğü gibi karşılaştırma sonucu sonuc değişkenine aktarılarak ilgili mesaj gösterildi. Fakat, Koşul operatörünün karşılaştırma işlemi sonucunda ki değer direk olarak sonuc değişkenine atanmaz: İşlemin gerçekleştiği satırda eşitliğin sol tarafında sonuc değişkeni bulunur. Eşitliğin sağ tarafında ise koşul operatörünün karşılaştırması ile olumlu ve olumsuz deyimleri bulunur. Buradaki önemli ayrıntı şu: koşul operatörünün karşılaştırma işleminden sonra, koşul ifadesinin tamamı (karşılaştırma ile olumlu ve olumsuz deyimler) bu karşılaştırmanın sonucuna eşitlenerek "sonuc = true" şeklini alır. Eğer, karşılaştırma sonucu bir kod içeriyorsa bu kod çalıştırılır. Bu sayede sonucun herhangi bir değişkene aktarılmadan kod yoluyla kullanılması mümkündür. Aşağıdaki örnek bunu biraz daha açık olarak göstermektedir.

Aşağıdaki örnek, koşul operatörü ile 2'nin 2'ye eşitliğini kontrol ederek, dönen sonucun gene koşul operatörü ile değerlendirilmesini göstermektedir.

<script type="text/javascript">
function kodluGoster()
{
    var sonuc = 2 == 2 ? true : false;
	
    sonuc ? alert("Sonuç olumlu!") : alert("Sonuç olumsuz!");
}
</script>

<input type="button" value="Göster" onClick="kodluGoster()"/>

Aşağıdaki örnek, üstteki örnekteki karşılaştırma sonucunun alınmadan direk olarak uygulanmasını göstermektedir.

<script type="text/javascript">
function enkisaGoster()
{
    2 == 2 ? alert("Sonuç olumlu!") : alert("Sonuç olumsuz!");
}
</script>

<input type="button" value="Göster" onClick="enkisaGoster()"/>

Aşağıdaki örnek, 2 ile 3'ün karşılaştırılmasını göstermektedir.

<script type="text/javascript">
function ucGoster()
{
    2 == 3 ? alert("Sonuç olumlu!") : alert("Sonuç olumsuz!");
}
</script>

<input type="button" value="Göster" onClick="ucGoster()"/>
 
myNotlar Hakkında
Telif Hakkı © 2007-2009 mynotlar.com Tüm Hakları Saklıdır. Kopyalanamaz. Yayınlanamaz.
E-Posta : support@myNotlar.com

| Tek Kişilik Oyunlar | Sudoku | YasinKa |