Tüm blog yazıları

JavaScript’te Karar Verme Yapıları

Programlama dünyasında en önemli kavramlardan biri karar verme yani bilgisayarın bazı durumlara göre farklı davranmasını sağlamaktır. Bu durum, gerçek hayatta bizim verdiğimiz kararlarla büyük benzerlik gösterir. Örneğin: - Ders çalışıp

eminbasbayan4 dk okuma
JavaScript’te Karar Verme Yapıları

Programlama dünyasında en önemli kavramlardan biri karar verme yani bilgisayarın bazı durumlara göre farklı davranmasını sağlamaktır. Bu durum, gerçek hayatta bizim verdiğimiz kararlarla büyük benzerlik gösterir. Örneğin:

  • Ders çalışıp çalışmamaya karar verirken saat kaç olduğuna bakarız.
  • Yağmur yağıyorsa dışarı çıkarken şemsiye alırız.
  • Bir arkadaşımıza mesaj atıp atmamaya, onun çevrimiçi olup olmamasına göre karar veririz.

JavaScript gibi programlama dilleri de, bu tarz koşullara göre davranmak için karar yapıları kullanır. Bu sayede yazdığımız programlar “akıllı” hale gelir ve kullanıcıya göre farklı sonuçlar gösterebilir.

Karar Yapılarının Amacı

Programda bir durum doğruysa (örneğin kullanıcı giriş yapmışsa), bir işlem yapılır. Eğer bu durum doğru değilse, başka bir işlem yapılır. Bu şekilde farklı koşullara uygun farklı sonuçlar üretilebilir.

JavaScript’te en sık kullanılan karar yapıları şunlardır:

  • if
  • else
  • else if
  • switch

Bu yapılarla, programın akışını kontrol edebilir, farklı senaryolarda farklı kodların çalışmasını sağlayabiliriz.

Kararların Temeli: Karşılaştırma Operatörleri

Karar verme yapılarında “koşul” dediğimiz şey aslında bir karşılaştırmadır. Yani iki şeyi birbirine kıyaslar ve doğru (true) mu yoksa yanlış (false) mu olduğunu kontrol ederiz. Bu kıyaslamaları yapmak için karşılaştırma operatörleri kullanılır.

En Sık Kullanılan Karşılaştırma Operatörleri:

OperatörAnlamıÖrnekAçıklama
===Eşit mi? (Tip kontrolüyle)x === 5x tam olarak 5 mi?
!==Eşit değil mi?y !== "merhaba"y “merhaba” değilse
>Büyüktürsayi > 10sayı 10'dan büyük mü?
<Küçüktüryas < 18yaş 18'den küçük mü?
>=Büyük eşit mi?puan >= 50puan en az 50 mi?
<=Küçük eşit mi?stok <= 0stok sıfır veya daha az mı?

Bu operatörler sayesinde, “if” içinde hangi durumların kontrol edileceğini belirleriz.

1. if Yapısı – En Temel Karar

if, "eğer" anlamına gelir. Eğer bir koşul doğruysa, süslü parantezler {} arasındaki kod çalışır. Aksi halde kod çalışmaz.

Örnek:

metin
let sicaklik = 35;

if (sicaklik > 30) {
  console.log("Bugün hava çok sıcak. Gölgelik bir yer bul.");
}

Burada > karşılaştırma operatörü kullanılmıştır. Eğer sıcaklık 30’un üzerindeyse, mesaj gösterilir.

2. else Yapısı – Alternatif Karar

if ile kontrol ettiğimiz koşul doğru değilse, else bloğu çalışır. Yani bir “aksi halde” durumu tanımlarız.

Örnek:

metin
let notOrtalamasi = 48;

if (notOrtalamasi >= 50) {
  console.log("Sınıfı geçtin.");
} else {
  console.log("Sınıfı geçemedin, tekrar denemelisin.");
}

= operatörü ile notun 50 veya daha fazla olup olmadığına bakıyoruz.

3. else if – Birden Fazla Durumu Kontrol Etmek

Bazı durumlarda sadece iki seçenek yetmez. Üç, dört veya daha fazla olasılığı kontrol etmek isteriz. Bu gibi durumlarda else if kullanılır.

Örnek:

metin
let puan = 76;

if (puan >= 90) {
  console.log("Pekiyi");
} else if (puan >= 70) {
  console.log("İyi");
} else if (puan >= 50) {
  console.log("Geçer");
} else {
  console.log("Başarısız");
}

Burada puanın hangi aralıkta olduğuna göre not dereceleri belirleniyor. Her satırda >= operatörüyle kıyaslama yapılıyor.

4. Gerçek Hayat Uygulaması: Giriş Kontrolü

Bir web sitesinde kullanıcı giriş yaptıysa farklı bir ekran gösterilir, yapmadıysa başka bir ekran. Bu da karar yapılarıyla gerçekleştirilir.

Örnek:

metin
let kullaniciGirisi = false;

if (kullaniciGirisi === true) {
  console.log("Hoş geldiniz, profilinize yönlendiriliyorsunuz.");
} else {
  console.log("Lütfen giriş yapınız.");
}

Burada === operatörü kullanılarak değişkenin değeri tam olarak true mü diye kontrol edilir.

5. switch Yapısı – Çoklu Karar Durumları İçin

switch, bir değişkenin farklı değerlerine göre farklı kodların çalışmasını sağlar. Bu yapı, else if gibi birden fazla durumu kontrol ederken daha düzenli bir görünüm sunar.

Örnek:

metin
let gun = "Çarşamba";

switch (gun) {
  case "Pazartesi":
    console.log("Haftaya yeni başladık.");
    break;
  case "Çarşamba":
    console.log("Hafta ortası, az kaldı.");
    break;
  case "Cuma":
    console.log("Hafta sonu yaklaşıyor.");
    break;
  default:
    console.log("Sıradan bir gün.");
}

switch, kontrol edilen değişkenin değerine göre uygun mesajı gösterir. === gibi çalışır ama daha okunaklıdır.

Karar Yapıları Neden Önemlidir?

Karar yapıları olmadan programlarımız hep aynı şeyi yapar, hiçbir şekilde kullanıcıya ya da duruma göre tepki veremezdi. Bu yapılar sayesinde:

  • Formlarda eksik bilgi varsa kullanıcı uyarılabilir,
  • Şifre doğru girildiyse giriş yapılabilir,
  • Farklı butonlara basıldığında farklı işlemler yapılabilir,
  • Hatalı işlemlerde uyarı verilebilir.

Tüm bu kararlar, karşılaştırma operatörleri ile koşullar oluşturularak yapılır.

Sonuç

JavaScript’te karar verme yapıları, programlarımızı daha dinamik ve akıllı hale getirir. Ancak bu yapılar, karşılaştırma operatörleri olmadan işe yaramaz. Çünkü hangi durumda ne olacağını belirlemek için önce bir “karşılaştırma” yapmamız gerekir.

Bu nedenle if, else, switch gibi yapılarla birlikte ===, !==, >, < gibi operatörleri çok iyi bilmek gerekir.

Bir sonraki adımda bu yapıları daha etkileşimli formlarda, mini projelerde ve gerçek dünya uygulamalarında kullanmayı öğrenebiliriz.

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