Backend Dersleri Kosullu Ifadeler (if-else, switch, ternary)
0 / 4
Oturum geri yüklendi 100% kalite
Çalışma alanı

Derse Hazır mısınız?

Satır satır kod yazılışını izleyin ve her satırın açıklamasını dinleyin.

Terminal Çıktısı Hazır
Kod çalıştırıldığında çıktı burada görünecek...
Web Önizleme
HTML çıktı oluştuğunda önizleme burada açılır.
Satır Satır Anlatım
Kosullu Ifadeler (if-else, switch, ternary) dersinde isteğin veya verinin backend içinde hangi adımlardan geçtiğini, her kod parçasının görevini ve gözlenebilir çıktıyı birlikte inceleyeceğiz.
Bu dersin hedefleri
  • Ders başlığındaki backend kavramını çalışan kodun girdisi ve çıktısıyla ilişkilendirmek.
  • Bir satırın önceki adımdan aldığı veriyi ve sonraki adıma hazırladığı sonucu takip etmek.
  • Hata ayıklama, test ve temel güvenlik kontrollerini akışın doğal parçası olarak uygulamak.
Kosullu Ifadeler (if-else, switch, ternary) beginner 25 dk çalışma
Bu dersin ana sorusu: Kosullu Ifadeler (if-else, switch, ternary) konusunu çalışan bir backend örneği üzerinden anlamak.
Öğrenme özeti: Kosullu Ifadeler (if-else, switch, ternary) dersinin temel fikri, backend kodunu yalnızca çalıştırmak değil; girdinin nasıl işlendiğini, neden o sıranın seçildiğini ve sonucun nasıl doğrulandığını görebilmektir.
Öğrenme rotası ve transfer görevi
  1. Problemi tanı: Backend örneğinin girdisini, görevini ve beklenen çıktısını bir cümleyle yazın.
  2. Akışı izle: Kodun veriyi hangi sırayla aldığını, dönüştürdüğünü ve döndürdüğünü satır satır takip edin.
  3. Güvenli değiştir: Küçük bir değişiklik yapın; normal, hatalı ve sınır girdilerle sonucu test edin.
Kendin dene: Örneğin ana akışını bozmadan yeni bir girdi alanı veya hata senaryosu ekleyin. Değişen satırları, beklenen sonucu ve güvenlik kontrolünü yazılı olarak açıklayın.
Kavram sözlüğü ve sık karıştırılanlar
  • Request: İstemcinin backend sunucusundan bir işlem veya veri istediği iletişimdir.
  • Response: Backendin isteğe karşı döndürdüğü durum, başlık ve veri sonucudur.
  • Validation: Girdinin beklenen türde, biçimde ve iş kuralına uygun olup olmadığını kontrol etmektir.
  • Log: Çalışma sırasında ne olduğunu izlemek için kaydedilen tanı bilgisidir.
Sık karıştırılanlar: Backend kodu yalnızca ekrana çıktı basmaz; veri alır, iş kuralı uygular, hata yönetir ve istemciyle sözleşme kurar. 200 veya başarılı görünen bir yanıt, iş kuralının doğru uygulandığını tek başına kanıtlamaz.
Nasıl çalışacağız: Önce backend örneğinin hangi girdiyi aldığını belirleyin. Sonra kodun veriyi hangi sırayla işlediğini, hangi noktada karar verdiğini ve istemciye/terminale ne döndürdüğünü satır satır takip edin.
Hata ayıklama: Hatayı yeniden üretin; istek girdisini, logu, dosya-satır bilgisini ve beklenen çıktıyı kaydedin. Akışı küçük parçalara ayırıp tek değişiklikle tekrar deneyin.
Test yaklaşımı: Normal verinin yanında boş, hatalı biçimli, sınır ve yetkisiz girdileri de deneyin. Hem status/çıktıyı hem de veri değişikliğini doğrulayın.
Güvenlik: Kullanıcı girdisini doğrulayın, parametreli sorgu kullanın, kimlik doğrulama ve yetkilendirmeyi ayırın; parola, token ve kişisel verileri koda veya loga yazmayın.
Sürdürülebilirlik: İş kurallarını controller, servis ve veri erişimi gibi sorumluluklara ayırın; anlamlı isimler, küçük fonksiyonlar, ortak hata yanıtı ve test edilebilir sınırlar kullanın.
Ders özeti: Kosullu Ifadeler (if-else, switch, ternary) konusunu; girdi, backend işlemi, veri akışı, hata durumu, güvenlik kontrolü ve çıktı arasındaki ilişkiyle kendi cümlelerinizle açıklayın.
1
if ( puan >= 50 ) { console . log ( "Gectiniz" ) ; } else { console . log ( "Kaldiniz" ) ; }
if-else — Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır.
Bu adımı hiç bilmeyen biri için okuyalım: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir. Satırın rolü: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının backend görevi. Sözdizimi açısından Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır. Çalışma sırasında backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir. Gözlenebilir ara sonuç şudur: Bu adımın sonunda Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı için gerekli ara durum oluşur; işlenmiş veri, terminal çıktısı veya istemciye dönen backend yanıtı gözlemlenebilir hale gelir. Bir sonraki satır bu sonucu kullanır. Kod parçaları: if (puan >= 50) { console.log("Gectiniz"); } else { console.log("Kaldiniz"); }: Bu satır backend akışının bir parçasını yürütür. Bu satırın neden burada olduğunu anlamak için girdiyi ve bir sonraki satıra taşınan değeri birlikte kontrol edin.
  1. Önce Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı parçasının hangi girdiyi aldığını ve Kosullu Ifadeler (if-else, switch, ternary) içindeki görevini söyleyin.
  2. Sonra sözdizimini parçalara ayırın; hangi anahtar kelime, değişken veya parametrenin neyi belirlediğini gösterin.
  3. Çalışma zamanında verinin bu satırdan önceki ve sonraki halini karşılaştırın; terminal/response sonucunu kontrol edin.
  4. Aynı fikri boş, hatalı veya farklı bir değerle deneyin; hata oluşursa mesajı okuyup tek değişiklikle yeniden test edin.
Yaygın hata: Bu adımda en yaygın hata, Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı parçasını Kosullu Ifadeler (if-else, switch, ternary) bağlamından koparıp yalnızca ezberlemektir. Önce girdiyi doğrulayın, sonra beklenen çıktıyı küçük bir testle karşılaştırın.
Şimdi sen dene: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı üzerinde küçük bir değişiklik yapın; sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında hangi çıktının değişmesini beklediğinizi yazın, sonra normal ve hatalı bir girdiye karşı çalıştırın.
Zihninde canlandır: Akış burada bir karara ayrıldı.
= Sağdaki değeri soldaki isme bağlar.
( Çağrıyı veya gruplamayı başlatır.
) Çağrıyı veya gruplamayı bitirir.
{ Bir blok kapsamı açar.
} Açılan bloğu kapatır.
; İfadenin bittiğini bildirir (dile göre zorunlu olabilir).
Değişmez değerler için const/final/readonly gibi niteleyiciler, yanlışlıkla değişilmeyi engeller.
Satırın görevi: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının backend görevi
Kavram: Kosullu Ifadeler (if-else, switch, ternary)
Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırını yalnızca sözdizimiyle değil, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içindeki göreviyle okuyun.
Blok kapsamı: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının bulunduğu backend akışındaki kapsamı ve sonraki adıma taşıdığı sonucu belirler.
Neden şimdi: Bu parça, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında sonraki adımın ihtiyaç duyduğu girdiyi hazırlamak için şimdi kuruluyor.
Kod etiketlerini tek tek incele
if (puan >= 50) { console.log("Gectiniz"); } else { console.log("Kaldiniz"); } kod parçası
Ne yapar? Bu satır backend akışının bir parçasını yürütür.
Neden burada? Önceki girdiyi sonraki adıma taşımak için bu konumda bulunur.
Silinirse: İlgili ara sonuç veya çıktı oluşmaz.
1
if-else ile Kosul Bagli Calisma
if-else yapisinin nasil calistigini ve hangi kosulda hangi blokun execute edildigini ogrenmek.
#if-statement #else #conditional-branching #comparison-operator #block-scope #boolean-evaluation
if (puan >= 50) { ... } else { ... }
puan >= 50 degerlendirilir, true/false dalina gore ilgili blok calisir
Konsola 'Gectiniz' veya 'Kaldiniz' yazilir
puan degiskeni 50 veya uzeri ise konsolda 'Gectiniz', altinda ise 'Kaldiniz' gormek.
Hızlı Kontrol Beginner · 10 puan
puan degiskeni 35 degerinde oldugunda bu kod ne yazdirir?
Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir.
backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir.
if (kosul) { kod } else { kod } — suslu parantezler tek satirli ifadelerde zorunlu degildir ama okunabilirlik icin onerilir.
Bellek Durumu (Variables)
Değişken Tip Değer Adres Ref
puan number 35 (ornek) stack 1
Akış Şeması (Flowchart)
AST (Abstract Syntax Tree)
{
    "type": "IfStatement",
    "test": {
        "type": "BinaryExpression",
        "operator": ">=",
        "left": {
            "type": "Identifier",
            "name": "puan"
        },
        "right": {
            "type": "Literal",
            "value": 50
        }
    },
    "consequent": {
        "type": "BlockStatement",
        "body": [
            {
                "type": "ExpressionStatement",
                "expression": {
                    "type": "CallExpression",
                    "callee": {
                        "type": "MemberExpression",
                        "object": {
                            "type": "Identifier",
                            "name": "console"
                        },
                        "property": {
                            "type": "Identifier",
                            "name": "log"
                        }
                    },
                    "arguments": [
                        {
                            "type": "Literal",
                            "value": "Gectiniz"
                        }
                    ]
                }
            }
        ]
    },
    "alternate": {
        "type": "BlockStatement",
        "body": [
            {
                "type": "ExpressionStatement",
                "expression": {
                    "type": "CallExpression",
                    "callee": {
                        "type": "MemberExpression",
                        "object": {
                            "type": "Identifier",
                            "name": "console"
                        },
                        "property": {
                            "type": "Identifier",
                            "name": "log"
                        }
                    },
                    "arguments": [
                        {
                            "type": "Literal",
                            "value": "Kaldiniz"
                        }
                    ]
                }
            }
        ]
    }
}
Değişiklikler (Diff)
+ Eklendi:
+ if (puan >= 50) {
+ console.log("Gectiniz");
+ } else {
+ console.log("Kaldiniz");
+ }
Akıllı İpuçları (Adaptive Hints)
Tetikleyici: ReferenceError
'puan' degiskeninin bu satirdan once tanimlanmis ve bir deger atanmis olmasi gerekir.
Tetikleyici: SyntaxError
if parantezlerini ve suslu parantezleri dengeli yazdiginizdan emin olun.
Tetikleyici: TypeError
puan sayisal bir deger degilse >= karsilastirmasi beklenmedik sonuclar uretebilir.
Kosul ifadelerini net tutun ve === veya >= gibi acik karsilastirmalar kullanin. Nested if-else yerine erken donus (early return) tercih edin.
Girdiyi doğrulamadan bu satırın ürettiği sonucu doğru kabul etmek.
If-else yapisini inceliyoruz. Puan 50 veya uzerindeyse gectiniz, altinda ise kaldiniz yazdirilir. Kosul dogru degerlendirilince ilk blok, yanlis ise else bloku calisir.
2
let sonuc = yas >= 18 ? "Yetiskin" : "Cocuk" ;
Ternary Operator — Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır.
Bu adımı hiç bilmeyen biri için okuyalım: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir. Satırın rolü: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının backend görevi. Sözdizimi açısından Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır. Çalışma sırasında backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir. Gözlenebilir ara sonuç şudur: Bu adımın sonunda Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı için gerekli ara durum oluşur; işlenmiş veri, terminal çıktısı veya istemciye dönen backend yanıtı gözlemlenebilir hale gelir. Bir sonraki satır bu sonucu kullanır. Kod parçaları: let sonuc = yas >= 18 ? "Yetiskin" : "Cocuk";: Bu satır backend akışının bir parçasını yürütür. Bu satırın neden burada olduğunu anlamak için girdiyi ve bir sonraki satıra taşınan değeri birlikte kontrol edin.
  1. Önce Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı parçasının hangi girdiyi aldığını ve Kosullu Ifadeler (if-else, switch, ternary) içindeki görevini söyleyin.
  2. Sonra sözdizimini parçalara ayırın; hangi anahtar kelime, değişken veya parametrenin neyi belirlediğini gösterin.
  3. Çalışma zamanında verinin bu satırdan önceki ve sonraki halini karşılaştırın; terminal/response sonucunu kontrol edin.
  4. Aynı fikri boş, hatalı veya farklı bir değerle deneyin; hata oluşursa mesajı okuyup tek değişiklikle yeniden test edin.
Yaygın hata: Bu adımda en yaygın hata, Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı parçasını Kosullu Ifadeler (if-else, switch, ternary) bağlamından koparıp yalnızca ezberlemektir. Önce girdiyi doğrulayın, sonra beklenen çıktıyı küçük bir testle karşılaştırın.
Şimdi sen dene: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı üzerinde küçük bir değişiklik yapın; sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında hangi çıktının değişmesini beklediğinizi yazın, sonra normal ve hatalı bir girdiye karşı çalıştırın.
Zihninde canlandır: Bir değer isimlendi; sonraki satırlar bu isimle ona ulaşacak.
= Sağdaki değeri soldaki isme bağlar.
; İfadenin bittiğini bildirir (dile göre zorunlu olabilir).
Değişmez değerler için const/final/readonly gibi niteleyiciler, yanlışlıkla değişilmeyi engeller.
Satır sonu noktalı virgül ya da kapanış işareti unutulur
Belirti: Syntax/Parse error — dosya hiç çalışmaz.
Neden: Çoğu dil ifadeleri ; ile, blokları } ile kapatır.
Çözüm: Derleyici mesajındaki satır numarasına ve bir önceki satıra bak.
Satırın görevi: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının backend görevi
Kavram: Kosullu Ifadeler (if-else, switch, ternary)
Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırını yalnızca sözdizimiyle değil, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içindeki göreviyle okuyun.
Blok kapsamı: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının bulunduğu backend akışındaki kapsamı ve sonraki adıma taşıdığı sonucu belirler.
Neden şimdi: Bu parça, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında sonraki adımın ihtiyaç duyduğu girdiyi hazırlamak için şimdi kuruluyor.
Kod etiketlerini tek tek incele
let sonuc = yas >= 18 ? "Yetiskin" : "Cocuk"; kod parçası
Ne yapar? Bu satır backend akışının bir parçasını yürütür.
Neden burada? Önceki girdiyi sonraki adıma taşımak için bu konumda bulunur.
Silinirse: İlgili ara sonuç veya çıktı oluşmaz.
2
Ternary Operator ile Kisa Kosullu Atama
Ternary (? :) operatorunun if-else'e kisa bir alternatif olarak nasil calistigini ogrenmek.
#ternary-operator #conditional-expression #expression-vs-statement #assignment #let-declaration
yas >= 18 ? "Yetiskin" : "Cocuk"
yas >= 18 degerlendirilir, true ise 'Yetiskin' doner
sonuc degiskenine atanan deger: 'Yetiskin' veya 'Cocuk'
yas 18 veya uzeri ise sonuc 'Yetiskin', altinda ise 'Cocuk' degerini alir.
Hızlı Kontrol Beginner · 15 puan
Asagidaki kodu ternary operator kullanarak tamamlayin. yas 18'den buyukse 'Yetiskin', degilse 'Cocuk' degeri donmeli: let sonuc = yas >= 18 ? ____ : ____;
Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir.
backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir.
kosul ? degerIfTrue : degerIfFalse — uc operand (ternary) ile calisir. Her iki kolon ayni tipte deger donmelidir.
Bellek Durumu (Variables)
Değişken Tip Değer Adres Ref
sonuc string "Yetiskin" (yas >= 18 ise) stack 1
Akış Şeması (Flowchart)
AST (Abstract Syntax Tree)
{
    "type": "VariableDeclaration",
    "kind": "let",
    "declarations": [
        {
            "type": "VariableDeclarator",
            "id": {
                "type": "Identifier",
                "name": "sonuc"
            },
            "init": {
                "type": "ConditionalExpression",
                "test": {
                    "type": "BinaryExpression",
                    "operator": ">=",
                    "left": {
                        "type": "Identifier",
                        "name": "yas"
                    },
                    "right": {
                        "type": "Literal",
                        "value": 18
                    }
                },
                "consequent": {
                    "type": "Literal",
                    "value": "Yetiskin"
                },
                "alternate": {
                    "type": "Literal",
                    "value": "Cocuk"
                }
            }
        }
    ]
}
Değişiklikler (Diff)
+ Eklendi:
+ let sonuc = yas >= 18 ? "Yetiskin" : "Cocuk";
Akıllı İpuçları (Adaptive Hints)
Tetikleyici: ReferenceError
'yas' degiskeninin tanimlanmis olmasi gerekir.
Tetikleyici: SyntaxError
Ternary operatorunde ? ve : isaretlerinin ikisi de olmali. Birini unutmayin.
Ternary'i basit tek seviye kosullarda kullanin. Ic ice ternary (nested) okunabilirligi dusurdugu icin kacinin; bu durumda if-else tercih edin.
Girdiyi doğrulamadan bu satırın ürettiği sonucu doğru kabul etmek.
Ternary operatoru if-else'in kisa halidir. Yas 18 veya buyukse soru isaretinden sonraki deger, degilse ikinokta sonrasi deger doner ve sonuc degiskenine atanir.
3
switch ( gun ) { case 1 : return "Pzt" ; case 2 : return "Sali" ; default : return "Diger" ; }
switch-case — sonuç/hata dönüşü backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır.
Bu adımı hiç bilmeyen biri için okuyalım: sonuç/hata dönüşü, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir. Satırın rolü: sonuç/hata dönüşü satırının backend görevi. Sözdizimi açısından sonuç/hata dönüşü backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır. Çalışma sırasında backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir. Gözlenebilir ara sonuç şudur: Bu adımın sonunda sonuç/hata dönüşü için gerekli ara durum oluşur; işlenmiş veri, terminal çıktısı veya istemciye dönen backend yanıtı gözlemlenebilir hale gelir. Bir sonraki satır bu sonucu kullanır. Kod parçaları: switch(gun){case 1:return"Pzt";case 2:return"Sali";default:return"Diger";}: Bu satır backend akışının bir parçasını yürütür. Bu satırın neden burada olduğunu anlamak için girdiyi ve bir sonraki satıra taşınan değeri birlikte kontrol edin.
  1. Önce sonuç/hata dönüşü parçasının hangi girdiyi aldığını ve Kosullu Ifadeler (if-else, switch, ternary) içindeki görevini söyleyin.
  2. Sonra sözdizimini parçalara ayırın; hangi anahtar kelime, değişken veya parametrenin neyi belirlediğini gösterin.
  3. Çalışma zamanında verinin bu satırdan önceki ve sonraki halini karşılaştırın; terminal/response sonucunu kontrol edin.
  4. Aynı fikri boş, hatalı veya farklı bir değerle deneyin; hata oluşursa mesajı okuyup tek değişiklikle yeniden test edin.
Yaygın hata: Bu adımda en yaygın hata, sonuç/hata dönüşü parçasını Kosullu Ifadeler (if-else, switch, ternary) bağlamından koparıp yalnızca ezberlemektir. Önce girdiyi doğrulayın, sonra beklenen çıktıyı küçük bir testle karşılaştırın.
Şimdi sen dene: sonuç/hata dönüşü üzerinde küçük bir değişiklik yapın; sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında hangi çıktının değişmesini beklediğinizi yazın, sonra normal ve hatalı bir girdiye karşı çalıştırın.
Zihninde canlandır: Çağrılan yer bir sonuç aldı; akış oradan devam edecek.
( Çağrıyı veya gruplamayı başlatır.
) Çağrıyı veya gruplamayı bitirir.
{ Bir blok kapsamı açar.
} Açılan bloğu kapatır.
; İfadenin bittiğini bildirir (dile göre zorunlu olabilir).
Satırın görevi: sonuç/hata dönüşü satırının backend görevi
Kavram: Kosullu Ifadeler (if-else, switch, ternary)
sonuç/hata dönüşü satırını yalnızca sözdizimiyle değil, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içindeki göreviyle okuyun.
Blok kapsamı: sonuç/hata dönüşü satırının bulunduğu backend akışındaki kapsamı ve sonraki adıma taşıdığı sonucu belirler.
Neden şimdi: Bu parça, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında sonraki adımın ihtiyaç duyduğu girdiyi hazırlamak için şimdi kuruluyor.
Kod etiketlerini tek tek incele
switch(gun){case 1:return"Pzt";case 2:return"Sali";default:return"Diger";} kod parçası
Ne yapar? Bu satır backend akışının bir parçasını yürütür.
Neden burada? Önceki girdiyi sonraki adıma taşımak için bu konumda bulunur.
Silinirse: İlgili ara sonuç veya çıktı oluşmaz.
3
switch-case ile Coklu Dallanma
switch-case yapisinin coklu kosul degerlendirmesinde if-else'i nasil alternatif olarak kullandigini ogrenmek.
#switch-statement #case #default #return #fall-through #equality-check
switch(gun){case 1:...;case 2:...;default:...}
gun degeri case'lerle karsilastirilir, eslesen case calisir
Eslesen case'in return degeri doner, yoksa default doner
gun=1 ise 'Pzt', gun=2 ise 'Sali', diger degerlerde 'Diger' donmesi.
Hızlı Kontrol Intermediate · 15 puan
switch(gun) calistiginda su adimlar sirasiyla nasil gerceklesir? Dogru sirayi yazin.
sonuç/hata dönüşü, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir.
backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir.
switch(degisken) { case deger: kod; break; default: kod; } — case sonuna break veya return konmazsa fall-through olur.
Bellek Durumu (Variables)
Değişken Tip Değer Adres Ref
gun number 1 (ornek) stack 1
Akış Şeması (Flowchart)
AST (Abstract Syntax Tree)
{
    "type": "SwitchStatement",
    "discriminant": {
        "type": "Identifier",
        "name": "gun"
    },
    "cases": [
        {
            "type": "SwitchCase",
            "test": {
                "type": "Literal",
                "value": 1
            },
            "consequent": [
                {
                    "type": "ReturnStatement",
                    "argument": {
                        "type": "Literal",
                        "value": "Pzt"
                    }
                }
            ]
        },
        {
            "type": "SwitchCase",
            "test": {
                "type": "Literal",
                "value": 2
            },
            "consequent": [
                {
                    "type": "ReturnStatement",
                    "argument": {
                        "type": "Literal",
                        "value": "Sali"
                    }
                }
            ]
        },
        {
            "type": "SwitchCase",
            "test": null,
            "consequent": [
                {
                    "type": "ReturnStatement",
                    "argument": {
                        "type": "Literal",
                        "value": "Diger"
                    }
                }
            ]
        }
    ]
}
Değişiklikler (Diff)
+ Eklendi:
+ switch(gun){
+ case 1: return "Pzt";
+ case 2: return "Sali";
+ default: return "Diger";
+ }
Akıllı İpuçları (Adaptive Hints)
Tetikleyici: ReferenceError
'gun' degiskeninin tanimlanmis olmasi gerekir. Bu kod bir fonksiyon icinde olmali, cunku return kullaniyor.
Tetikleyici: SyntaxError
Her case sonuna iki nokta (:) konmalidir. Suslu parantezleri kontrol edin.
Tetikleyici: UnexpectedToken
switch parantezlerini ve case iki noktalarini kontrol edin.
Her case sonuna break veya return koyun. Degilse, fall-through kasitliysa yorumla belirtin. default her zaman ekleyin.
Girdiyi doğrulamadan bu satırın ürettiği sonucu doğru kabul etmek.
Switch-case yapisini inceliyoruz. Gun degiskeninin degeri sirayla case'lerle karsilastirilir. Bir deger eslesirse o case'in return ifadesi calisir. Hicbiri eslesmezse default calisir.
4
let isim = kullaniciAdi ?? "Misafir" ;
?? Nullish Coalescing — Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır.
Bu adımı hiç bilmeyen biri için okuyalım: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir. Satırın rolü: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının backend görevi. Sözdizimi açısından Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı backend kodunun bir parçasıdır; ilgili girdiyi alır, dönüştürür ve sonraki adıma aktarır. Çalışma sırasında backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir. Gözlenebilir ara sonuç şudur: Bu adımın sonunda Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı için gerekli ara durum oluşur; işlenmiş veri, terminal çıktısı veya istemciye dönen backend yanıtı gözlemlenebilir hale gelir. Bir sonraki satır bu sonucu kullanır. Kod parçaları: let isim = kullaniciAdi ?? "Misafir";: Bu satır backend akışının bir parçasını yürütür. Bu satırın neden burada olduğunu anlamak için girdiyi ve bir sonraki satıra taşınan değeri birlikte kontrol edin.
  1. Önce Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı parçasının hangi girdiyi aldığını ve Kosullu Ifadeler (if-else, switch, ternary) içindeki görevini söyleyin.
  2. Sonra sözdizimini parçalara ayırın; hangi anahtar kelime, değişken veya parametrenin neyi belirlediğini gösterin.
  3. Çalışma zamanında verinin bu satırdan önceki ve sonraki halini karşılaştırın; terminal/response sonucunu kontrol edin.
  4. Aynı fikri boş, hatalı veya farklı bir değerle deneyin; hata oluşursa mesajı okuyup tek değişiklikle yeniden test edin.
Yaygın hata: Bu adımda en yaygın hata, Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı parçasını Kosullu Ifadeler (if-else, switch, ternary) bağlamından koparıp yalnızca ezberlemektir. Önce girdiyi doğrulayın, sonra beklenen çıktıyı küçük bir testle karşılaştırın.
Şimdi sen dene: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı üzerinde küçük bir değişiklik yapın; sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında hangi çıktının değişmesini beklediğinizi yazın, sonra normal ve hatalı bir girdiye karşı çalıştırın.
Zihninde canlandır: Bir değer isimlendi; sonraki satırlar bu isimle ona ulaşacak.
= Sağdaki değeri soldaki isme bağlar.
; İfadenin bittiğini bildirir (dile göre zorunlu olabilir).
Değişmez değerler için const/final/readonly gibi niteleyiciler, yanlışlıkla değişilmeyi engeller.
Satır sonu noktalı virgül ya da kapanış işareti unutulur
Belirti: Syntax/Parse error — dosya hiç çalışmaz.
Neden: Çoğu dil ifadeleri ; ile, blokları } ile kapatır.
Çözüm: Derleyici mesajındaki satır numarasına ve bir önceki satıra bak.
Satırın görevi: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının backend görevi
Kavram: Kosullu Ifadeler (if-else, switch, ternary)
Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırını yalnızca sözdizimiyle değil, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içindeki göreviyle okuyun.
Blok kapsamı: Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı satırının bulunduğu backend akışındaki kapsamı ve sonraki adıma taşıdığı sonucu belirler.
Neden şimdi: Bu parça, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması akışında sonraki adımın ihtiyaç duyduğu girdiyi hazırlamak için şimdi kuruluyor.
Kod etiketlerini tek tek incele
let isim = kullaniciAdi ?? "Misafir"; kod parçası
Ne yapar? Bu satır backend akışının bir parçasını yürütür.
Neden burada? Önceki girdiyi sonraki adıma taşımak için bu konumda bulunur.
Silinirse: İlgili ara sonuç veya çıktı oluşmaz.
4
Nullish Coalescing ile Guvenli Varsayilan Deger
?? (nullish coalescing) operatorunun || operatorunden farkini ve null/undefined degerler icin nasil guvenli varsayilan sagladigini ogrenmek.
#nullish-coalescing #default-value #null-check #undefined #falsy-vs-nullish #operator-precedence
kullaniciAdi ?? "Misafir"
kullaniciAdi null/undefined mi kontrolu
null ise 'Misafir', degilse kullaniciAdi degeri
kullaniciAdi null veya undefined ise isim degiskeni 'Misafir' olur; 0 veya bos string ise kullaniciAdi degeri korunur.
Hızlı Kontrol Intermediate · 15 puan
kullaniciAdi degiskeni 0 (sifir) degerine sahip oldugunda, let isim = kullaniciAdi ?? "Misafir" ifadesi isim'e 'Misafir' degerini atar.
Kosullu Ifadeler (if-else, switch, ternary) içindeki bu kod satırı, sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması içinde bu örneğin ilgili görevini üstlenir.
backend çalışma zamanı bu kod parçasını işler ve sunucu tarafı kodun girdiyi işlemesi, doğru çıktıyı üretmesi ve güvenli biçimde çalışması için sonraki adıma taşınacak ara sonucu üretir.
solDeger ?? sagDeger — solDeger null veya undefined ise sagDeger doner. Oncelik sirasinda || ve && ile birlikte kullanilmaz; parantez gerekir.
Bellek Durumu (Variables)
Değişken Tip Değer Adres Ref
kullaniciAdi string null (ornek) stack 1
isim string "Misafir" (null oldugu icin) stack 1
Akış Şeması (Flowchart)
AST (Abstract Syntax Tree)
{
    "type": "VariableDeclaration",
    "kind": "let",
    "declarations": [
        {
            "type": "VariableDeclarator",
            "id": {
                "type": "Identifier",
                "name": "isim"
            },
            "init": {
                "type": "LogicalExpression",
                "operator": "??",
                "left": {
                    "type": "Identifier",
                    "name": "kullaniciAdi"
                },
                "right": {
                    "type": "Literal",
                    "value": "Misafir"
                }
            }
        }
    ]
}
Değişiklikler (Diff)
+ Eklendi:
+ let isim = kullaniciAdi ?? "Misafir";
Akıllı İpuçları (Adaptive Hints)
Tetikleyici: ReferenceError
'kullaniciAdi' degiskeninin tanimlanmis olmasi gerekir. let ile tanimlanmamissa hata verir.
Tetikleyici: SyntaxError
?? operatoru || veya && ile ayni ifadede parantezsiz kullanilamaz. Ornek: (a || b) ?? c
Tetikleyici: TypeError
Eger kullaniciAdi tanimli ama null ise, ?? sag tarafi doner ve hata almazsiniz.
Null/undefined kontrolu icin her zaman ?? kullanin. || ise acikca boolean mantik istediginizde kullanin. ?? ve || isaret karisikligini onlemek icin parantez kullanin.
Girdiyi doğrulamadan bu satırın ürettiği sonucu doğru kabul etmek.
Nullish coalescing operatoru null veya undefined icin varsayilan deger saglar. Kullanici adi null ise misafir atanir. Sifir veya bos string gibi gecerli falsy degerlerde ise sol taraf korunur.
Konsol 0 log

Seslendirme Ayarları

Kredi