JavaScript Dersleri

JavaScript’te İç İçe Koşullu İfadeler (Nesting Conditionals)

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript’te İç İçe Koşullu İfadeler (Nesting Conditionals)
🔍 Büyütmek için tıklayın

Programlama dünyasında karar vermek, en sık karşılaşılan işlemlerden biridir. Uygulamalar, kullanıcının girişine göre ya da sistemden gelen değerlere göre farklı yollar izleyebilir. Bu tür durumları kontrol etmek için koşullu ifadeler kullanırız. JavaScript’te bunun temel yolu if, else if ve else ifadeleridir.

Ancak bazen, bir şart gerçekleşmeden diğer şartlara bakmak istemeyiz. İşte burada devreye iç içe koşullu ifadeler, yani nesting conditionals girer. Bu makalede nesting yapısının ne olduğunu, neden ve nasıl kullanıldığını detaylıca inceleyeceğiz.

1. Temel Koşullu Yapılar

Önce koşullu ifadelerin basit halini hatırlayalım:

let age = 17; if (age >= 18) { console.log("Ehliyet alabilirsiniz."); } else { console.log("Yaşınız tutmuyor."); }

Burada tek bir koşul kontrol ediliyor. Ama bazen birden fazla koşulu kontrol etmek gerekir. Ve bu koşullar birbirine bağlı olabilir. Örneğin, ikinci bir kontrolü ancak ilk şart sağlanıyorsa yapmak isteyebiliriz. Bu durumda iç içe yapılar devreye girer.

2. İç İçe Koşullu İfade Nedir?

İç içe koşullu ifade, bir if bloğunun içinde başka bir if bloğunun olmasıdır. Bu, kodun sadece belirli bir durumda çalışmasını sağlar.

Gerçek Hayattan Analojisi:

Bir müzeye giriş yapmak için önce biletin olması gerekir. Ama sadece bilet yeterli değildir; yanında kimlik de göstermen gerekebilir. Ancak bu kimlik kontrolü sadece biletin varsa yapılır. İşte bu mantık, iç içe koşullu ifadenin temelidir.

3. Örnek: Öğrenci Not Değerlendirme Sistemi

Diyelim ki bir öğrencinin notunu kontrol eden bir sistem yapıyoruz. Önce notun geçerli bir sayı olup olmadığına bakacağız. Eğer geçerliyse, ardından bu nota göre bir harf notu vereceğiz.

const score = parseInt(prompt("Notunuzu girin (0-100 arasında):")); if (score >= 0 && score <= 100) { if (score >= 90) { console.log("Notunuz: A"); } else if (score >= 80) { console.log("Notunuz: B"); } else if (score >= 70) { console.log("Notunuz: C"); } else if (score >= 60) { console.log("Notunuz: D"); } else { console.log("Notunuz: F"); } } else { console.log("Geçersiz not girdiniz. Lütfen 0-100 arasında bir değer girin."); }

Burada şu yapı var:

  • Birinci if: Not geçerli mi?
  • İkinci if bloğu (içerideki): Geçerliyse harf notunu belirle.

Bu yapı sayesinde hatalı not girilirse sistem boşuna harf hesaplamaz. Böylece gereksiz kontroller engellenir.

4. Neden Nested If Kullanmalıyız?

Bazı durumlarda && (mantıksal VE) operatörüyle birden fazla şartı tek satırda kontrol etmek mümkün olsa da, kodun okunabilirliği ve mantıksal akışı açısından nested yapı daha açıklayıcı olabilir.

Örnek Karşılaştırma:

// Tüm şartlar tek satırda if (isMember && hasTicket && age >= 18) { console.log("Etkinliğe katılabilirsiniz."); }

Bu örnek kısa ama neyin neden kontrol edildiğini anlamak zor olabilir. Nested yapı kullanırsak:

if (isMember) { if (hasTicket) { if (age >= 18) { console.log("Etkinliğe katılabilirsiniz."); } else { console.log("Yaş sınırını karşılamıyorsunuz."); } } else { console.log("Etkinlik bileti yok."); } } else { console.log("Üye değilsiniz."); }

Bu daha uzun ama kontrol sırasını ve mantığı daha açık gösterir.

5. Dikkat Edilmesi Gereken Noktalar

İç içe koşullar kullanılırken bazı şeylere dikkat etmek gerekir:

  • Gereksiz derinlikten kaçının: Çok fazla iç içe yapı, kodun okunmasını zorlaştırır.
  • Gerekiyorsa return veya break kullanarak erken çıkış yapın.
  • Koşulların sırasını iyi belirleyin: En genel durumla başlamayın, özel ve filtreleyici durumlarla başlayın.

6. Alternatif Yöntem: Koşulları Birleştirmek

Eğer şartlar birbirinden bağımsız değilse ama sadeleştirilebiliyorsa, mantıksal operatörlerle tek satıra da indirgenebilir:

if (score >= 0 && score <= 100 && score >= 90) { console.log("Notunuz: A"); }

Ama bu her zaman önerilmez. Nesting sayesinde kod akışı daha adım adım olur, özellikle yeni başlayanlar için daha anlaşılır hale gelir.

7. Uygulama: Ürün İade Sistemi

Bir mağazada ürün iadesi yapılabilmesi için şu şartlar olsun:

  • Fatura var mı?
  • İade süresi 30 günü geçmemiş mi?
  • Ürün zarar görmemiş mi?
const hasReceipt = true; const daysSincePurchase = 15; const productDamaged = false; if (hasReceipt) { if (daysSincePurchase <= 30) { if (!productDamaged) { console.log("İade işlemi başarıyla tamamlandı."); } else { console.log("Zarar görmüş ürün iade alınamaz."); } } else { console.log("İade süresi geçmiş."); } } else { console.log("Fatura olmadan iade yapılamaz."); }

Bu örnekte, her kontrol sadece bir önceki şart doğruysa yapılır. Bu, gerçek hayattaki işleyişe çok benzer.

Sonuç

İç içe koşullu ifadeler, programlamada daha kontrollü ve anlamlı kararlar vermek için güçlü bir yöntemdir. Özellikle bazı şartlar yalnızca başka şartlar sağlandığında kontrol edilmeliyse, nested yapı sayesinde:

  • Gereksiz işlem yapmaktan kaçınılır,
  • Kod daha okunabilir hale gelir,
  • Hatalar daha kolay önlenir.

Yeni başlayan biri için nesting yapısı ilk başta karmaşık görünebilir. Ancak bu yapının mantığını kavradıktan sonra, karmaşık mantıksal durumları çok daha kolay bir şekilde kodlayabilirsiniz. Nesting conditionals, ileride öğreneceğiniz daha gelişmiş yapılar için sağlam bir temel oluşturur.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk