Mantıksal Operatörler

Mantıksal operatörler, ifade ettiğimiz önermeleri birbirine bağlamak için kullandığımız ve (&&), veya (||), değil (!) sembolleridir. Önermeleri genellikle karşılaştırma operatörleri ile ifade ederiz. Tipten bağımsız olarak kullanılabilir.

Önerme: Mantıksal olarak doğrulanabilir veya yanlışlanabilir ifadelerdir. Örneğin: '15 sayısı 12 sayısından büyüktür.' ifadesi önermedir.

VE Operatörü ( && )

&& sembolü ile kullanılır. İfadeler arasındaki yanlış (false) sonucunu arar. Sondan bir önceki ifadeye kadar false sonucunu arar ve false sonucunu bulduğu ifadeyi döndürür. Eğer sondan bir önceki ifadeye kadar false bulamaz ise sonuncu ifadeyi döndürür. Örnek.

let harf = 'A';
let sayi = '65';
alert(harf === 'A' && sayi === '65'); //true && true : true
alert(harf === 'A' && sayi === 65); //true && false : false
alert(harf === 'A' && sayi == 65); //true && true : true

Bu operatörün çalışma mantığı şöyledir.

//sondan bir önceki ifadeye kadar false yok ise son ifadeyi döndürür.
alert( true && true && true && true ); //true
alert( true && true && true && false ); //false

//sondan bir önceki ifadeyi kadar bulduğu ilk false ifadesini döndürür.
alert( true && true && false && true ); //false: 3.ifade ile kontrolü bıraktı.
alert( false && false && false && false ); //false: 1.ifade kontrolü bıraktı.

Bunu şu şekilde daha güzel örnekleyebiliriz. Daha önce anlattığımız üzere number tipi ele alındığında false 0 true 1 idi. Fakat 0 harici tüm değerler de yine true değeri almaktaydı. Aynı şekilde string olanlar için de hiçbir karakter içermeyen değer ('') false herhangi bir karakter içeren değer ise true idi.

VEYA Operatörü ( || )

|| sembolü ile kullanılır. İfadeler arasındaki doğru (true) sonucunu arar. Sondan bir önceki ifadeye kadar true sonucunun arar ve true sonucunu bulduğu ifadeyi döndürür. Eğer sondan bir önceki ifadeye kadar true bulamaz ise sonuncu ifadeyi döndürür. Örnek.

| sembolü "Alt-Gr + <" kombinasyonu ile elde edilir. İki sefer yapılırsa || elde edilir.

Bu operatörün çalışma mantığı şöyledir.

Daha iyi örnekle.

DEĞİL Operatörü ( ! )

! sembolü ile kullanılır. Bir ifadenin başında kullanıldığında, ifadenin kendi değerini ilk başta boolean tipine çevirir ve bu değerin tersini döndürür. false ise true, true ise false olarak sonuç döndürür.

Bu operatörün çalışma mantığı şöyledir.

Özel Değerlerin Mantıksal Karşılaştırmaları

Özel değerlerin && operatörü ile kullanımına bakalım. Sondan bir önceki ifadeye kadar undefined, NaN veya null ile karşılaşırsa kontrolü bırakır karşılaştığı değeri döndürür.

Fakat veya operatörü bu değerleri görmezden gelir.

Değil ! operatörü hepsi için true değeri döndürür.

Bu şu anlama gelmemektedir: undefined, NaN ve null değerleri boolean olarak false değerindedir. Bu önerme yanlıştır.

Operatörlerin Öncelikleri

Karşılaştırma yaparken farklı operatörleri bir arada kullanabilirsiniz. Bu durumda ve ile veya arasında öncelik nasıl olur ? Öncelik ve operatöründedir. ve operatör işlemlerinden sonra veya operatörüne geçilir. Örnek.

Kısa Devre

Mantıksal operatörlerde kısa devre; operatörlerin çalışma sırasında son ifadeyi döndüreceği durumda sondaki ifadeyi kod için kullanmaktır. Bu durum okunurluğu artıracak bir kapıdır. Şöyle ki:

&& operatörü false değeri arar. Son ifadeye kadar bulamazsa son ifadeyi döndürür. Yukarıdaki örneğe bakarsak ilk iki ifade true olduğu için doğrudan son ifadeyi döndürür. Dolayısıyla değişkenleri manipüle etmek için de kullanılabilir. Başka bir örnekle:

&& operatörü ilk false değeri döndürür. sistem değişkeninin değeri 'Android' olduğu için ilk ifade true sonuç verir dolayısıyla && operatörü son ifadeyi döndürür. Son ifade de 'mobil' olduğu için cihaz değişkeni 'mobil' olarak atanır.

Aynısını ilk true değerini döndüren || operatörü ile yapalım.

|| operatörü ilk true değeri döndürür. sistem değişkeninin değeri 'Android' olduğu için false sonuçlar verir dolayısıyla || operatörü son ifadeyi döndürür. Son ifade de 'mobil' olduğu için cihaz değişkeni 'mobil' olarak atanır.

Last updated