CodeBlanks Logo Icon CodeBlanks

Skoru hesaplama

JavaScript kursu · Başlangıç · Ders 80/133

if ile doğru cevabı kontrol eder ve skor sayacını artırırsın.

Skor toplayıcısı

Doğru cevap sayısını tutmak için toplayıcı desenini kullanırız: döngüden önce let score = 0; ile sıfırdan başlatırız, doğru her cevapta score++ ile bir artırırız.

score++, score = score + 1 ile aynı anlama gelir; değişkenin değerini bir artırır. Döngü bitince score bize toplam doğru sayısını verir.

Katı eşitlik ile kontrol

Cevabın doğru olup olmadığını kontrol etmek için katı eşitlik işleci === kullanırız. === hem değeri hem de türü karşılaştırır; == ise tür dönüştürme yapar ve beklenmedik sonuçlar verebilir.

Soru nesnemizdeki answer alanı bir sayıdır (örneğin 1). parseInt ile aldığımız cevap da sayıdır. İkisini === ile karşılaştırırız: userAnswer === q.answer. Eşitse score'u bir artırırız.

Uygulama Skoru hesapla

Önceki dersin koduna bir score toplayıcısı ekle. Döngüden önce let score = 0; ile başlat. Döngü gövdesinde parseInt ile aldığın userAnswer'ı q.answer ile === kullanarak karşılaştır; eşitse score++ ile bir artır. Döngüden sonra console.log("Skor:", score) ile sonucu yazdır.

Örnek çözümü göster
// Quiz sorularını tanımla
const questions = [
  { question: "Türkiye'nin başkenti?", options: ["İzmir", "Ankara", "Bursa"], answer: 1 },
  { question: "En çok yağış alan il?", options: ["Rize", "Konya", "Ankara"], answer: 0 }
];
// Kullanıcı cevapları (seçenek indeksleri string olarak)
const userAnswers = ["1", "0"];
let score = 0;
let answerIndex = 0;
for (const q of questions) {
  const userAnswer = parseInt(userAnswers[answerIndex]);
  if (userAnswer === q.answer) {
    score++;
  }
  answerIndex++;
}
console.log("Skor:", score);

Kendini test et

  1. score++ ifadesi ne yapar?

    • score değişkenini sıfırlar
    • score değişkenini iki katına çıkarır
    • score değişkeninin değerini döndürür ama değiştirmez
    • score değişkeninin değerini bir artırır
    Cevabı göster

    score değişkeninin değerini bir artırır — Doğru! score++ eşittir score = score + 1; değeri bir artırır.

  2. if koşulunu tamamla

    if (userAnswer ____ q.answer) {
      score++;
    }
    Cevabı göster
    if (userAnswer === q.answer) {
      score++;
    }
  3. İfadeyi anlamına eşleştir

    let score = 0
    Sayacı sıfırdan başlatır
    userAnswer === q.answer
    Doğruluğu katı eşitlikle kontrol eder
    score++
    Skoru bir artırır
    console.log(score)
    Skoru ekrana yazdırır

Başlangıç bölümündeki tüm dersler