JavaScriptYazılım

JAVASCRIPT’TE OPERATÖRLER VE KOŞUL İFADELERİ #5

Javascript’te programlarımız ya da herhangi bir dilde yazdığımız programlarımız aslında çoğu zaman belli bir koşula göre çalışır. Biz belli bir koşula göre belli kodları çalıştırıyoruz veya çalıştırmıyoruz. İşte bunlar bizim program dünyasındaki koşul durumlarımız.

Örneğin bir yere bir müşteri kaydedeceğiz fakat o müşteri hali hazırda var ise onu tekrardan kaydetmememiz gerekiyor. Yani bu durumu bir koşul ile belirtmemiz gerekiyor. Aslında koşul ifadelerimizi bu tarz durumlarda kullanıyoruz. Ve bu dersimizde bunların özelliklerini tek tek ayrıntılı şekilde göreceğiz.

 

KARŞILAŞTIRMA OPERATÖRLERİ

Karşılaştırma operatörlerinde, iki tarafta iki tane değeri değişik operatörler sayesinde sorgulayabiliriz. Örneğin , iki taraftaki değer birbirine eşit mi? Sol taraftaki değer sağ taraftaki değerden büyük mü? Şeklinde bunları kontrol ediyoruz. Ve bunların sonucunda aslında bize boolean‘  yani true,false değer dönüyor.

1-Eşit-Eşit Operatörü ( == ) :

Bu operatörümüz iki tane değerin eşitliğini kontrol eder. Eğer iki değerimiz birbirine eşitse true değil ise false değer dönüyor. Örneğin;

console.log(12 == 12); // Console'da true çıktısını verir. Çünkü 12 12'ye eşittir.
console.log("js" == "php"); // Console'da false çıktısını verir. Çünkü iki string değer birbirine eşit değildir.

2-Eşit-Eşit-Eşit Operatörü ( === ) : 

Bir kod şablonu gösterip bu operatörü ve “==” operatörü ile ne farkı olduğunu bu şablon üzerinden anlatacağım.

console.log(5 == 5); // Console'da true çıktısını verir.
console.log(5 === 5); // Console'da false çıktısını verir.

Peki neden ilk kod’da true verdi ikinci kod’da false verdi ? Hemen açıklayayım.

İki değeri Eşit-Eşit yani ‘==’ operatörü ile karşılaştırdığımızda sadece değer olarak eşitliğine bakar. Eşitliğin bir tarafında sayı bir tarafında string tipi bir ifade olduğu zaman sayı değeri javascript tarafından otomatik olarak string tipine çevrilir. Artık değerler eşit olduğuna göre true çıktısını verir.

Fakat iki değeri Eşit-Eşit-Eşit yani ‘===’ operatörü ile karşılaştırdığımızda hem değer hemde veri tipi olarak karşılaştırır. Bu sayede sayı veri tipi string veri tipi ile karşılaştırılmış olur fakat ‘===’ operatörü hem değer hem veri tipi olarak karşılaştırdığından false çıktısını verir.

Javascriptte eşitlik kontrol edilen durumlarda en genel kullanım ‘===’ operatörüdür.

3-Büyük, Küçük, BüyükEşit ve KüçükEşit Operatörleri ( > , < , >= , <= ) : 

Çok da anlatılacak bir şey yok. Neredeyse herkesin bildiği şeyler. İki değerin birbirine küçüklüğü için “<“, büyüklüğü için “>” , hem büyük hem eşitliği için “>=” , hem küçük hem eşitliği için “<=” operatörleri  kullanılır. Bir kaç örnek yapalım;

console.log(4 > 2); // Console'da true çıktısını verir.
console.log(2 > 4); // Console'da false çıktısını verir.
console.log(5 < 6); // Console'da true çıktısını verir.
console.log(6 < 5); // Console'da false çıktısını verir.
console.log(5 >= 3); // Console'da true çıktısını verir.
console.log(5 >= 5); // Console'da true çıktısını verir.
console.log(3 <= 5); // Console'da true çıktısını verir.
console.log(3 <= 3); // Console'da true çıktısını verir.

4-Eşit Değil mi Operatörü ( != ) : 

Yine anlatılacak çok bir şey yok. Sol taraftaki değer sağ taraftaki değere eşit ise false , değil ise true çıktısını console’da verir. Örneğin;

console.log(2 != 2); // Console'da false çıktısını verir.
console.log(3 != 2); // Console'da true çıktısını verir. Çünkü 3 , 2'ye eşit değildir.

Karşılaştırma operatörleri bu kadardı. Bu operatörleri koşul ifadelerinde sık sık kullanacağız. Şimdi koşul ifadelerinde sık sık kullanacağımız başka bir ifade olan “Mantıksal Bağlaçlar” konusuna gelelim.

MANTIKSAL BAĞLAÇLAR

Mantıksal bağlaçlar birden çok koşulu kontrol etmek istediğimiz zaman kullanılır.

1-Not Operatörü ( ! ) :

‘Not’ operatörü bir değeri false ise true’ya , true ise false’a çevirir. Bir kod şablonu hazırlayıp bu operatörü kod şablonu üzerinden daha detaylı anlatacağım.

console.log(2 == 2); // Console'da true çıktısını verir.
console.log(!(2 == 2)); // Console'da false çıktısını verir.
console.log(2 != 2); // Console'da false çıktısını verir.
console.log(!(2 != 2)); // Console'da true çıktısını verir.

Kod şablonunda ilk satırda 2 , 2’ye eşit olduğu için true çıktısı verdi fakat biz ikinci satırda başına ” ! ” operatörünü kullanarak false’a çevirdik. Aynı şekilde üçüncü satırda 2 , 2’ye eşit olduğunda fakat biz  “eşit değil mi” sorgusu yaptığımızdan false çıktısını verdi. Ama dördüncü satırda ” ! ” operatörünü ekleyince false olan çıktıyı true’ya çevirdik.

2-And Operatörü ( && ) : 

And operatörü ile bağlanan koşul durumlarında genel sonucun true olması için tüm koşulların true değer olması gerekiyor. Eğer bir koşul bile false olur ise bizim genel sonucumuz false olur. Örneğin;

console.log( (2 == 2) && ("ahmet" == "ahmet")); // Console'da true çıktısını verir.
console.log( (2 == 3) && ("berkay" === "berkay")); // Console'da false çıktısını verir.

3-Or Operatörü ( || ) : 

And operatörünün tam tersidir. Genel sonucun true olmasını istiyorsak herhangi bir koşulun true olması yeterlidir. Fakat genel sonucun false olmasını istiyorsak koşulların hepsinin false olması gerekir.Örneğin;

console.log( (4 == 3) || ("kodportali" === "kodportali")); // Console'da true çıktısını verir.
console.log( (4 == 3) || ("kod" === "kodportali")); // Console'da false çıktısını verir.

KOŞUL İFADELERİ ( İF , ELSE İF , ELSE)

-İF  Koşul İfadesi (Eğer) : 

İf koşul ifadesinin içine parametre olarak bir koşul göndeririz, söyleriz ve eğer bu koşul true bir değer dönüyorsa if bloğu kendi içindeki kodları çalıştırır. Ancak değil ise çalıştırmaz.

İf bloğu true değer döndüğü zaman çalıştıracağı kodları süslü parantezler içinde yazarız. Yani if bloğunun tanımlanması şu şekildedir:  ” if( gireceğimiz kosul ) { } “. Bir kaç örnek ile daha açıklayıcı hale getireyim.

const error = true;
if(error == true){
   console.log("Hata oluştu");
}
// Programı çalıştırdığımız zaman Console'da Hata Oluştu
// çıktısını alırız. Çünkü koşulumuz True değer dönüyor.

const error2 = false;
if(error == true){
   console.log("Hata oluştu");
}
console.log("deneme");
// Programı çalıştırdığımız zaman Console'da Deneme çıktısını
// alırız. Çünkü koşulumuz false değer döndüğünden if bloğu
// çalışmaz ve bir aşağıdaki kodlar derlenir.

2-Else Koşul İfadesi : 

Bir üstteki örnekte error değerimiz false olduğu için koşuldan false ifade geldi ve blok çalışmadı. Yani biz sadece error’un true olduğu durumlar için bir blok yazdık fakat error’un false olduğu durumlar için bir blok yazamadık. Bu durumlarda devreye “else” bloğu girer. Hemen kullanımını görelim;

const error3 = false;
if(error3 == true){
    console.log("hata oluştu");
}
else {
   console.log("hata oluşmadı. her şey yolunda");
}

Programı çalıştırdığımızda hata oluşmadı. her şey yolunda çıktısını
alırız. Çünkü error3 false olduğundan if bloğu çalışmadı ve bir
aşağıdaki else bloğuna geçildi.

3-Else İf Koşul İfadesi :

Bir if else blok dizini oluşturduğumuz zaman sadece bir koşul değilde farklı farklı koşullarıda o değer için çalıştırmak istiyorsak bu durumda devreye if else koşul ifadesi girer. Hemen bir örnekle kullanımını görelim;

const islem = "1";
if(islem === "1"){
   console.log("İşlem 1"); 
} // İşlemin 2 , 3 , 4 olmasını kontrol etmek istersem ?
else if(islem === "2"){
   // İşlemin 2 olduğu zaman çalışacağı kısım.
   console.log("İşlem 2");
}
else if(islem === "3"){
   // İşlemin 3 olduğu zaman çalışacağı kısım.
   console.log("İşlem 3");
}
else if(islem === "4"){
   // İşlemin 4 olduğu zaman çalışacağı kısım.
   console.log("İşlem 4");
}
else {
  // İşlemin 1,2,3 ve 4 olmadığı zamanlarda çalışacak blok.
  console.log("İşlem yok");
} 

TERNARY  OPERATOR

Ternary operatörü , sadece bir if ve bir else olduğu durumlarda uzuuuun uzun if else blokları yazmaktansa daha kolay kullanımı sayesinde bize çok yardımcı olur. Nasıl kullanıldığı ile ilgidi bir kod şablonu hazırlayıp o şablon üzerinden konuşacağım;

console.log(100 === 100 ? "Sayı 100" : "Sayı 100 değil");
// Console'da çıktısı Sayı 100 olucaktır.

Yukarıdaki kod şablonunda ternary operatör örneği bulunmaktadır. Gördüğünüz kod da console’a bir koşul yazıyoruz 100 , 100’e eşit mi? Oradaki soru işareti az önce gördüğümüz if bloğuna eşittir. Yani demek istiyorki eğer 100 , 100’e eşitse Sayı 100 yaz. Oradaki iki nokta ise else bloğunu temsil eder. Yani demek istiyor ki sayı yüze eşit deilse Sayı 100 değil yaz.

Evet arkadaşlar. Biliyorum çok uzun bir yazı oldu ama derslerimizin tamamı boyunca operatörler ve koşul ifadeleri ile iç içe olacağız. Bu dersi iyi anlamanızı öneririm. Elimden geldiğince açıklayıcı olmaya çalıştım. Bi sonraki dersimiz switch case yapısında görüşmek üzere.

4. dersimiz javascriptte objeler hakkındaki yazımı okumak isterseniz buradan ulaşabilirsiniz.

 

 

Oylamak için tıklayınız :
[Toplam: 0 Puan: 0]
Etiketler

İlgili Makaleler

Bir Yorum

Bir cevap yazın

Başa dön tuşu