Bir yazılım geliştirici olarak sadece tek bir durumu değil, çoğu zaman birden fazla koşulu aynı anda kontrol etmek zorunda kalırsın. Örneğin bir kullanıcı giriş yaptı mı, şifresi yeterince güvenli mi, e-posta adresi geçerli mi? Tüm bunların birlikte kontrol edilmesi gerekir.
İşte bu gibi durumlarda mantıksal operatörler, yani JavaScript’in içinde hazır olarak bulunan “ve”, “veya”, “değil” gibi araçlar devreye girer. Bu makalede, özellikle AND
yani &&
operatörünü öğreneceğiz.
Mantıksal Operatörler Nedir?
Mantıksal operatörler, iki veya daha fazla durumu birleştirmek için kullanılır. Bu operatörler sayesinde birden çok koşulu aynı anda değerlendirebiliriz. JavaScript’te üç temel mantıksal operatör vardır:
&&
(AND – ve): Tüm koşullar doğruysa sonuç doğru olur.
||
(OR – veya): En az bir koşul doğruysa sonuç doğru olur.
!
(NOT – değil): Koşulun tersini alır.
Biz bu yazıda sadece &&
operatörü üzerinde duracağız.
&&
Operatörü Nasıl Çalışır?
&&
operatörü iki koşulu birbirine bağlar. Her iki koşul true (doğru) olursa, bütün ifade de true
döner. Ama sadece biri bile false
(yanlış) ise, tüm sonuç false
olur.
Bu kuralı şöyle düşünebilirsin:
“İki kilitli bir kapı düşün. Kapının açılması için her iki kilidin de anahtarla açılmış olması gerekir. Biri kilitli kalırsa kapı açılmaz.”
Örneklerle &&
Operatörü
Aşağıdaki örneklerde &&
kullanımının nasıl sonuç verdiğini görelim:
true && true // Sonuç: true
true && false // Sonuç: false
false && true // Sonuç: false
false && false // Sonuç: false
Bu örneklerden görebileceğimiz gibi sadece her iki taraf da true olduğunda sonuç true olur.
Günlük Hayattan Bir Senaryo
Ali’nin ailesiyle yaptığı bir anlaşma var:
“Hafta sonu sinemaya gidebilmek için hem odanı toplamalısın hem de kitap okumuş olmalısın.”
Bu durumda kurallar şunlar:
- Oda toplandı mı?
- Kitap okundu mu?
Ancak biri eksikse, Ali sinemaya gidemez. Bu da demektir ki:
const odaToplandi = true;
const kitapOkundu = false;
if (odaToplandi && kitapOkundu) {
console.log("Sinemaya gidebilirsin.");
} else {
console.log("Şartları yerine getirmediğin için sinemaya gidemezsin.");
}
Bu örnekte sonuç: “Şartları yerine getirmediğin için sinemaya gidemezsin.”
Programlamada &&
Kullanımı: Kullanıcı Girişi Kontrolü
Gerçek bir senaryoya bakalım. Bir kullanıcı sisteme giriş yapacak. Biz bu kullanıcıdan iki şey bekliyoruz:
- Kullanıcı adı en az 4 karakter olmalı
- Şifre, boşluk karakteri içermemeli
İşte bu kuralları tek if
ifadesi ile kontrol edebiliriz:
const kullaniciAdi = prompt("Kullanıcı adınızı girin:");
const sifre = prompt("Şifrenizi girin:");
if (kullaniciAdi.length >= 4 && sifre.indexOf(' ') === -1) {
console.log("Giriş başarılı.");
} else {
console.log("Kullanıcı adı veya şifre hatalı.");
}
Burada, her iki şart da doğruysa kullanıcı giriş yapabilir. Aksi takdirde sistem, girişe izin vermez.
Kısa Devreleme (Short-Circuiting) Nedir?
JavaScript bazen kodu daha verimli çalıştırmak için bazı bölümleri hiç kontrol etmez. &&
operatöründe, ilk ifade false ise, ikinci ifadeye bakmaya gerek yoktur çünkü sonuç zaten false olacaktır.
Örnek:
const yas = 15;
if (yas > 18 && isim.length > 2) {
console.log("Giriş yapıldı.");
}
Burada yas > 18
zaten false
olduğu için isim.length > 2
kısmına bakılmaz bile.
Bu davranışa short-circuiting (kısa devreleme) denir. Performans için önemlidir.
Tablolu Özet
Koşul A | Koşul B | A && B Sonuç |
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Sonuç
Mantıksal &&
operatörü, iki şartın aynı anda doğru olması gerektiği durumlarda kullanılır. Yazdığınız uygulamada birçok karar, bu tür kontrol ifadelerine bağlıdır.
Bir e-ticaret sitesinde ürünün stokta olup olmadığını ve kullanıcının giriş yapıp yapmadığını kontrol etmek, bir oyunda oyuncunun yeterli puanı ve canı olup olmadığını belirlemek hep buna örnektir.
Bu konuyu tam anlamıyla öğrendiğinizde, birden fazla koşulu birlikte değerlendirme beceriniz gelişecek ve daha güçlü, daha doğru çalışan kodlar yazabileceksiniz.
Bir sonraki yazıda ||
(veya) operatörünü inceleyerek, şartları daha esnek nasıl değerlendirebileceğimizi öğreneceğiz.