JavaScript: Başlangıçtan İleri Seviyeye
Bölüm 7 / 312 dk okuma

Koşullu İfadeler

if/else if/else, switch, ternary ve modern alternatifler.

if / else if / else

const age = 20;
 
if (age < 13) {
  console.log("çocuk");
} else if (age < 18) {
  console.log("genç");
} else {
  console.log("yetişkin");
}

Süslü parantez tek satırlık bloklarda bırakılabilir ama bırakma — sonradan satır eklerken bug üretir.

Ternary

Tek bir değer seçmek için:

const fee = isStudent ? 0 : 100;

İç içe yazma. Birden fazla koşul varsa if'e geç.

switch

const day = "PAZARTESI";
 
switch (day) {
  case "PAZARTESI":
  case "SALI":
    console.log("Hafta başı");
    break;
  case "CUMA":
    console.log("Hafta sonu yaklaşıyor");
    break;
  default:
    console.log("Diğer");
}

break koymazsan fall-through olur — bir sonraki case'e devam eder. Bu özellik bazen istenir (yukarıdaki PAZARTESI/SALI gibi).

Modern alternatif: object lookup

switch yerine sıkça obje kullanılır:

const messages = {
  PAZARTESI: "Hafta başı",
  CUMA: "Hafta sonu yaklaşıyor",
};
 
const text = messages[day] ?? "Diğer";

Daha temiz, daha test edilebilir.

Guard clause (erken çıkış)

İç içe if'lerden kaçınmak için:

// ❌ kötü
function process(user) {
  if (user) {
    if (user.active) {
      if (user.email) {
        // iş burada
      }
    }
  }
}
 
// ✅ iyi
function process(user) {
  if (!user) return;
  if (!user.active) return;
  if (!user.email) return;
  // iş burada
}
💡İpucu

Bir koşul 3 satırdan uzun bir mantığı kontrol ediyorsa, koşulu bir const değişkene almak okunabilirliği artırır:

const isEligible = user.active && user.age >= 18 && !user.banned;
if (isEligible) { ... }

Bu bölümü bitirdin mi?

İlerlemen tarayıcıda saklanır, eğitim listesinde görünür.

Paylaş