İçeriğe geç
Educora
Başlangıç13 dk5 / 27

Koşullar: if, else ve switch

Programına karar vermeyi öğret: `if`, `else if`, `else`, üçlü operatör ve `switch`.

Kendini test et
Bu derste öğreneceklerin
  • if, else if ve else ile dallanan kod yazmak
  • Koşulları && ve || ile birleştirmek
  • Üçlü operatör ve switch için uygun durumları seçmek

Her gün onlarca karar verirsin: yağmur yağıyorsa şemsiye alırsın, saat geç olduysa taksi çağırırsın, bakiyen azsa alışverişi ertelersin. Programlar da bu tür kararları koşul ifadeleri sayesinde verir.

if: koşul doğruysa

if anahtar kelimesinden sonra parantez içine bir koşul yazılır; süslü parantezler { } içine de koşul doğruysa çalışacak kod, yani blok yazılır. Koşul yanlışsa blok atlanır ve program devam eder.

JavaScript
const temperature = 28;

if (temperature > 25) {
  console.log('It is hot. Drink some water!');
}

console.log('Have a nice day');
▸ Beklenen çıktı
It is hot. Drink some water!
Have a nice day
temperature değerini 15 yap ve yeniden çalıştır: ilk mesaj kaybolacak.

else ve else if

else bloğu koşul yanlış olduğunda çalışır. İkiden fazla seçenek varsa else if ile yeni koşullar eklenir. JavaScript koşulları yukarıdan aşağıya kontrol eder ve ilk doğru koşulun bloğunu çalıştırır; diğerlerine bakmaz.

JavaScript
const score = 78;

if (score >= 90) {
  console.log('Excellent');
} else if (score >= 70) {
  console.log('Good');
} else if (score >= 50) {
  console.log('Satisfactory');
} else {
  console.log('Try again');
}
▸ Beklenen çıktı
Good

Koşulları birleştirmek

Birden fazla koşulu birleştirmek için mantıksal operatörler kullanılır: && (VE) iki koşulun da, || (VEYA) ise en az birinin doğru olmasını ister. Bir sinemanın hafta sonları 18 yaşından küçüklere indirim yaptığını düşünelim:

JavaScript
const age = 15;
const isWeekend = true;

if (age < 18 && isWeekend) {
  console.log('Discount ticket: 3 AZN');
} else {
  console.log('Regular ticket: 5 AZN');
}

const day = 'Sunday';
if (day === 'Saturday' || day === 'Sunday') {
  console.log('No school today');
}
▸ Beklenen çıktı
Discount ticket: 3 AZN
No school today
Etkileşimli
Simülasyon yükleniyor…
&& operatörü AND kapısı gibi çalışır: çıkış yalnızca iki giriş de doğruyken doğrudur. OR kapısına geçip || ile karşılaştır.

Üçlü operatör

İki değerden birini seçip bir değişkene yazman gerekiyorsa kısa bir yol var: koşul ? değer1 : değer2. Koşul doğruysa sonuç değer1, değilse değer2 olur. Üç parçadan oluştuğu için buna üçlü operatör (ternary) denir.

JavaScript
const hour = 20;
const greeting = hour < 12 ? 'Good morning' : 'Good evening';
console.log(greeting);

const items = 1;
console.log(`You have ${items} ${items === 1 ? 'item' : 'items'} in the basket`);
▸ Beklenen çıktı
Good evening
You have 1 item in the basket

switch: çok seçenek

Bir değişkeni birçok belirli değerle karşılaştırman gerektiğinde switch, uzun bir else if zincirinden daha okunaklıdır. Her case bir değeri kontrol eder (katı karşılaştırma === ile), break ise switch'ten çıkar. Hiçbir case uymazsa default bloğu çalışır.

JavaScript
const day = 'Saturday';

switch (day) {
  case 'Saturday':
  case 'Sunday':
    console.log('Weekend!');
    break;
  case 'Friday':
    console.log('Almost weekend');
    break;
  default:
    console.log('Work day');
}
▸ Beklenen çıktı
Weekend!
Boş case 'Saturday': bir sonraki case ile aynı kodu paylaşır: iki değer için tek cevap.
JavaScript
const light = 'yellow';

switch (light) {
  case 'green':
    console.log('Go');
  case 'yellow':
    console.log('Get ready');
  case 'red':
    console.log('Stop');
}
▸ Beklenen çıktı
Get ready
Stop
YapıNe zaman kullanılır
if / else if / elseher türlü koşul: aralıklar (score >= 90), birden çok değişken, karmaşık kontroller
? :tek satırda iki değerden birini seçmek
switchbir değişkeni birçok belirli değerle karşılaştırmak
Alıştırma

score için harf notunu yazdır: 90 ve üzeri — A, 75 ve üzeri — B, 60 ve üzeri — C, diğer durumlarda — F. Sonra üçlü operatörle passed (puan 60 veya daha fazlaysa) ya da failed yazdır.

Alıştırma · JavaScript
const score = 83;
// 1) print the grade: A, B, C or F
// 2) print passed or failed with the ternary operator
▸ Beklenen çıktı
B
passed

Önemli noktalar

  • if bloğu yalnızca koşul doğruysa çalışır; else ise aksi durumda.
  • Bir else if zincirinde ilk doğru koşul kazanır; bu yüzden en katı koşul en üstte olmalıdır.
  • && iki koşulun da, || en az birinin doğru olmasını ister.
  • Üçlü operatör koşul ? a : b iki değerden birini seçer.
  • switch değerleri === ile karşılaştırır; her case'i break ile bitir.

Kendini test et

10 soru. Her doğru cevap XP kazandırır.

1 / 10
const x = 7; iken if (x > 10) { console.log('A'); } else { console.log('B'); } ne yazdırır?