Tüm blog yazıları

JavaScript’te Mantıksal OR (||) Operatörü

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 suna

eminbasbayan4 dk okuma
JavaScript’te Mantıksal OR (||) Operatörü

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:

metin
||

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:

metin
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:

metin
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?

metin
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:

metin
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.

metin
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.

metin
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.
JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele