Ders İçeriği
Giriş
Gerçek hayatta sürekli kararlar veririz: "Hava yağmurlu mu? O zaman şemsiye almalıyım", "Saat 12'yi geçti mi? O zaman öğle yemeği yeme zamanı", "Bu ürün indirimde mi? O zaman satın alabilirim". Programlamada da benzer şekilde, kodumuzun belirli koşullara göre farklı davranmasını sağlamamız gerekir.
Koşullu ifadeler, programımızın akışını kontrol etmemizi sağlayan yapılardır. Bu ifadeler, belirli koşulların doğru veya yanlış olmasına bağlı olarak farklı kod bloklarının çalıştırılmasını sağlar. JavaScript'te koşullu ifadeler, programlarımızı daha dinamik ve etkileşimli hale getirmemize olanak tanır.
Bu derste, JavaScript'teki koşullu ifadeleri öğreneceğiz. Özellikle if
, else if
, else
ifadelerini ve switch
deyimini inceleyeceğiz. Ayrıca, koşullu (ternary) operatörün nasıl kullanılacağını da göreceğiz.
if İfadesi
if
ifadesi, JavaScript'te en temel koşullu ifadedir. Belirli bir koşul doğru (true
) olduğunda bir kod bloğunun çalıştırılmasını sağlar.
Temel sözdizimi şu şekildedir:
Burada koşul
, bir boolean değer (true
veya false
) döndüren herhangi bir ifade olabilir. Eğer koşul true
olarak değerlendirilirse, süslü parantezler içindeki kod bloğu çalıştırılır. Eğer koşul false
olarak değerlendirilirse, kod bloğu atlanır ve program bir sonraki satırdan devam eder.
Not: Eğer koşul doğruysa ve sadece tek bir ifade çalıştırılacaksa, süslü parantezler olmadan da yazabilirsiniz. Ancak, okunabilirlik ve hata yapma olasılığını azaltmak için süslü parantezleri her zaman kullanmanızı öneririz.
if...else İfadesi
if...else
ifadesi, bir koşul doğruysa bir kod bloğunu, yanlışsa başka bir kod bloğunu çalıştırmamızı sağlar.
Temel sözdizimi şu şekildedir:
if...else if...else İfadesi
Bazen ikiden fazla alternatif yol olabilir. Bu durumda, if...else if...else
ifadesini kullanabiliriz. Bu yapı, birden fazla koşulu sırayla kontrol etmemizi ve ilk doğru koşula göre bir kod bloğunu çalıştırmamızı sağlar.
Temel sözdizimi şu şekildedir:
İpucu: if...else if...else
yapısında, koşullar yukarıdan aşağıya doğru değerlendirilir. İlk doğru koşul bulunduğunda, ilgili kod bloğu çalıştırılır ve diğer koşullar kontrol edilmez. Bu nedenle, koşulların sırası önemlidir.
İç İçe if İfadeleri
Bir if
ifadesi içinde başka bir if
ifadesi kullanabilirsiniz. Buna "iç içe if ifadeleri" denir. Bu, daha karmaşık koşullu mantık oluşturmanıza olanak tanır.
Uyarı: İç içe çok fazla if
ifadesi kullanmak, kodunuzu okumayı ve anlamayı zorlaştırabilir. Mümkünse, mantıksal operatörleri (&&
, ||
) kullanarak koşulları birleştirmeyi veya fonksiyonlara ayırmayı düşünün.
switch İfadesi
switch
ifadesi, bir değişkenin değerine göre farklı kod bloklarını çalıştırmak için kullanılır. Bu, özellikle bir değişkenin birçok olası değeri olduğunda ve her değer için farklı bir işlem yapmanız gerektiğinde kullanışlıdır.
Temel sözdizimi şu şekildedir:
Burada ifade
, değerlendirilecek değişken veya ifadedir. Her case
, ifade
'nin olası bir değerini temsil eder. Eğer ifade
bir case
değerine eşitse, ilgili kod bloğu çalıştırılır. break
ifadesi, kod bloğunun sonunda switch
ifadesinden çıkılmasını sağlar. default
ise, ifade
hiçbir case
değerine eşit değilse çalıştırılacak kod bloğunu belirtir.
Uyarı: break
ifadesini unutursanız, JavaScript bir sonraki case
'e geçer ve o kod bloğunu da çalıştırır. Bu, bazen istediğiniz bir davranış olabilir, ancak genellikle bir hatadır.
Birden Fazla Case için Aynı Kod Bloğu
Bazen farklı case
'ler için aynı kod bloğunu çalıştırmak isteyebilirsiniz. Bu durumda, break
ifadesini kullanmadan case
'leri art arda yazabilirsiniz:
Koşullu (Ternary) Operatör
Koşullu operatör (ternary operator), if...else
ifadesinin kısa bir versiyonudur. Özellikle basit koşullu atamalar için kullanışlıdır.
Temel sözdizimi şu şekildedir:
Burada koşul
, değerlendirilecek boolean ifadedir. Eğer koşul
true
olarak değerlendirilirse, ifade1
döndürülür. Eğer koşul
false
olarak değerlendirilirse, ifade2
döndürülür.
İpucu: Koşullu operatör, özellikle bir değişkene değer atarken veya bir fonksiyondan değer döndürürken kullanışlıdır. Ancak, karmaşık koşullar için if...else
ifadesi daha okunabilir olabilir.
İç İçe Koşullu Operatörler
Koşullu operatörleri iç içe kullanabilirsiniz, ancak bu kodunuzu okumayı zorlaştırabilir:
Uyarı: İç içe çok fazla koşullu operatör kullanmak, kodunuzu okumayı ve anlamayı zorlaştırabilir. Bu durumda, if...else if...else
ifadesi daha uygun olabilir.
Truthy ve Falsy Değerler
JavaScript'te, koşullu ifadelerde kullanılan değerler otomatik olarak boolean değerlere dönüştürülür. Bazı değerler false
olarak değerlendirilirken (falsy), diğerleri true
olarak değerlendirilir (truthy).
Falsy Değerler
JavaScript'te aşağıdaki değerler "falsy" olarak kabul edilir (yani, bir koşulda kullanıldığında false
olarak değerlendirilir):
false
0
(sıfır)""
veya''
veya``
(boş string)null
undefined
NaN
(Not a Number)
Truthy Değerler
Yukarıdaki falsy değerler dışındaki tüm değerler "truthy" olarak kabul edilir (yani, bir koşulda kullanıldığında true
olarak değerlendirilir). Örneğin:
true
- Sıfır olmayan herhangi bir sayı (hem pozitif hem negatif)
- Boş olmayan herhangi bir string
- Tüm nesneler ve diziler (boş olsalar bile)
İpucu: Truthy ve falsy değerleri anlamak, özellikle değişkenlerin varlığını veya geçerliliğini kontrol ederken çok kullanışlıdır. Örneğin, if (değişken)
ifadesi, değişken
'in null
, undefined
, 0
, ""
veya false
olmadığını kontrol eder.
Alıştırmalar
- Bir değişken tanımlayın (örneğin,
saat = 14
) ve günün hangi zamanı olduğunu kontrol eden bir koşullu ifade yazın. Saat 5-12 arasındaysa "Günaydın", 12-18 arasındaysa "İyi günler", 18-22 arasındaysa "İyi akşamlar", diğer durumlarda "İyi geceler" mesajını konsola yazdırın. - Bir öğrencinin notunu (0-100 arası) temsil eden bir değişken tanımlayın ve bu nota göre harf notunu belirleyen bir
switch
ifadesi yazın. 90-100 arası "A", 80-89 arası "B", 70-79 arası "C", 60-69 arası "D", 0-59 arası "F" olsun. - Bir kullanıcının yaşını ve ehliyeti olup olmadığını temsil eden iki değişken tanımlayın. Kullanıcının araba kiralayıp kiralayamayacağını kontrol eden bir koşullu ifade yazın. Araba kiralamak için en az 21 yaşında olmak ve ehliyete sahip olmak gerekiyor.
- Koşullu operatörü kullanarak, bir sayının pozitif, negatif veya sıfır olduğunu kontrol eden ve uygun mesajı döndüren bir ifade yazın.
Bu derste JavaScript'teki koşullu ifadeleri öğrendik:
- if İfadesi: Belirli bir koşul doğruysa bir kod bloğunu çalıştırır.
- if...else İfadesi: Bir koşul doğruysa bir kod bloğunu, yanlışsa başka bir kod bloğunu çalıştırır.
- if...else if...else İfadesi: Birden fazla koşulu sırayla kontrol eder ve ilk doğru koşula göre bir kod bloğunu çalıştırır.
- İç İçe if İfadeleri: Bir
if
ifadesi içinde başka birif
ifadesi kullanılabilir. - switch İfadesi: Bir değişkenin değerine göre farklı kod bloklarını çalıştırır.
- Koşullu (Ternary) Operatör:
if...else
ifadesinin kısa bir versiyonudur. - Truthy ve Falsy Değerler: JavaScript'te, koşullu ifadelerde kullanılan değerler otomatik olarak boolean değerlere dönüştürülür.
Koşullu ifadeler, programlarımızın akışını kontrol etmemizi ve farklı durumlara göre farklı davranışlar sergilememizi sağlar. Bu, dinamik ve etkileşimli web uygulamaları geliştirmek için temel bir yapı taşıdır.
Bir sonraki derste, programlarımızda tekrarlayan işlemleri gerçekleştirmemizi sağlayan döngüleri öğreneceğiz.