Programlama dillerinde karar verme işlemleri, günlük hayattaki seçimlere çok benzer. Bazen bir kararı vermek için birden fazla şartın kontrol edilmesi gerekir. JavaScript bu gibi durumlar için bize bazı yardımcı araçlar sunar. Bunlardan biri de mantıksal “OR” (veya) operatörüdür.
Bu makalede JavaScript’teki ||
(OR) operatörünün nasıl çalıştığını, ne işe yaradığını ve hangi durumlarda kullanıldığını örneklerle birlikte adım adım inceleyeceğiz.
OR Operatörü Nedir?
“OR” kelimesi Türkçede “VEYA” anlamına gelir. Programlama dünyasında da aynı anlama sahiptir:
İki koşuldan en az biri doğruysa, tüm ifade doğru kabul edilir.
JavaScript’te OR operatörü şu şekilde yazılır:
||
Bu sembol klavyede genellikle Enter
tuşunun üstünde, \
karakteriyle aynı tuşta yer alır. Yazmak için Shift tuşuna basılı tutarak kullanılır.
OR Operatörünün Mantığı
OR operatörüyle iki farklı durumu bağlayabiliriz. Örneğin:
true || true // true
true || false // true
false || true // true
false || false // false
Yani sadece iki durum da yanlışsa, sonuç yanlış (false) olur. Diğer her durumda sonuç doğrudur.
Gerçek Hayattan Bir Örnek: Kütüphane Giriş Kuralları
Bir şehir kütüphanesinde şöyle bir kural olduğunu düşün:
Kütüphaneye giriş ücretsizdir, eğer kişi öğrenci ise veya 65 yaş üstü ise.
Bu kurala göre:
- Sadece öğrenciler mi ücretsiz girer? Hayır.
- Sadece 65 yaş üstü mü? Hayır.
- Her ikisinden biri geçerliyse ücretsiz giriş yapılabilir.
Bu durumu JavaScript ile şöyle kodlayabiliriz:
const isStudent = true;
const age = 70;
if (isStudent || age >= 65) {
console.log("Ücretsiz giriş");
} else {
console.log("Giriş ücretli");
}
Burada:
- Eğer
isStudent
true ise veya
age >= 65
koşulu doğruysa,
- Mesaj olarak “Ücretsiz giriş” yazdırılır.
Daha Kapsamlı Bir Senaryo: Spor Salonu Üyeliği
Bir spor salonu şu kurallara göre ücretlendirme yapıyor:
- 0-12 yaş: Ücretsiz
- 13-17 yaş: 50 TL
- 18-60 yaş: 100 TL
- 61 yaş ve üzeri: Ücretsiz
Negatif yaşlar ya da 130 gibi mantıksız değerler ise geçersiz kabul edilmeli.
Bunu JavaScript ile nasıl kodlayabiliriz?
const age = 11;
if ((age >= 0 && age <= 12) || age >= 61) {
console.log("Ücretsiz");
} else if (age >= 13 && age <= 17) {
console.log("50 TL");
} else if (age >= 18 && age <= 60) {
console.log("100 TL");
} else {
console.log("Geçersiz yaş");
}
Kodun Anlamı:
(age >= 0 && age <= 12)
ile 0-12 yaş kontrol ediliyor.
age >= 61
ile yaşlılar kontrol ediliyor.
- Bu iki şarttan herhangi biri doğruysa, kişi ücretsiz giriyor.
- Diğer yaş grupları da ayrı ayrı değerlendirilmiş.
else
bloğu ise negatif ya da çok büyük yaşlara karşı bir önlem.
AND ve OR Operatörleri Birlikte Kullanılır mı?
Evet, çok sık kullanılır. Özellikle belirli bir aralıkta değer kontrolü yapmak istiyorsak AND (&&)
kullanırız; birden fazla durumu bağlamak istiyorsak OR (||)
kullanırız.
Örneğin:
if ((age >= 0 && age <= 12) || age >= 61)
Bu satırda:
(age >= 0 && age <= 12)
ifadesi bir aralığı kontrol eder.
||
operatörüyle başka bir duruma bağlanır.
- Parantezler, hem okunabilirliği artırır hem de işlem sırasını kontrol altında tutar.
Operatörlerin İşlem Sırası (Önceliği)
JavaScript’te &&
(AND) operatörü, ||
(OR) operatöründen daha önce çalışır. Bu yüzden karışıklık olmaması için parantez kullanmak en iyi yöntemdir.
if ((age >= 0 && age <= 12) || age >= 61)
Parantez sayesinde önce yaş aralığı kontrol edilir, ardından OR işlemine geçilir.
Mantıksız Girdilere Karşı Koruma
Kodlamada önemli bir detay da mantıksız değerleri kontrol etmektir. Örneğin -10 yaşında biri olamaz. 999 yaşındaki biri de gerçekçi değildir.
Bu tür durumlar için her zaman else
veya özel bir if
bloğu yazmak gerekir.
if (age < 0 || age > 120) {
console.log("Geçersiz yaş");
}
Sonuç ve Özet
||
operatörü, VEYA anlamına gelir.
- En az bir koşul doğruysa tüm ifade doğru kabul edilir.
- Gerçek hayattaki kararları modellemek için çok kullanışlıdır.
- Diğer mantıksal operatörlerle birlikte çalışabilir.
- Karışıklıkları önlemek için parantez kullanımı tavsiye edilir.
- Geçersiz girdilere karşı önlem almak da iyi bir programlama alışkanlığıdır.