CodeBlanks Logo Icon CodeBlanks

Soru modeli

Soru, sık ve cevap tiplerini tasarlarsın.

Soru modeli nedir?

Bir quiz uygulamasında önce soru modeli tasarlanır. Soru; metin, şıklar ve doğru cevabın indeksinden oluşur. TypeScript'te bu yapıyı bir interface ile tanımlarsın. Böylece tüm sorular aynı şekle uyar ve derleme sırasında eksik alanlar yakalanır.

interface Soru {
  metin: string;
  siklar: string[];
  dogruIndex: number;
}

Cevap ve şık türleri

Soru modelinin yanında cevap ve şık türleri de tanımlanır. Şıklar bir string[] dizisidir; kullanıcı cevabı ise seçtiği şık indeksidir, yani number. Bu ayrım, modelin her parçasının tek bir sorumluluğa sahip olmasını sağlar.

type Cevap = number;  // secilen sik indeksi
type Sik = string;    // bir sik metni

Uygulama Soru nesnesi oluştur

Soru interface'i tanımla: metin: string, siklar: string[], dogruIndex: number. s1 adında bir Soru nesnesi oluştur; metni "TS nedir?", şıklar ["dil", "renk", "araç"], doğru indeks 0 olsun. s1.metin değerini console.log ile yazdır.

Başlangıç kodu

index.ts
// Soru interface tanımla
// s1 adında bir Soru nesnesi oluştur
// s1.metin yazdır

Örnek çözüm

index.ts
interface Soru {
  metin: string;
  siklar: string[];
  dogruIndex: number;
}
const s1: Soru = {
  metin: "TS nedir?",
  siklar: ["dil", "renk", "araç"],
  dogruIndex: 0
};
console.log(s1.metin);

Beklenen çıktı

TS nedir?

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir Soru interface'inde dogruIndex alanı hangi türde olmalıdır?

  • number Doğru cevap
  • string
  • boolean
  • string[]

Açıklama: Doğru cevabın indeksi bir sayı olduğu için dogruIndex alanı number türünde tanımlanır.

2 Soru arayüzü anahtar kelimesi

Soru
 ____ Soru {
  metin: string;
  siklar: string[];
  dogruIndex: number;
}
Cevap
 interface Soru {
  metin: string;
  siklar: string[];
  dogruIndex: number;
}

Açıklama: Bir nesne yapısını tanımlamak için interface anahtar kelimesi kullanılır; type alias da alternatiftir ama interface nesneler için daha uygundur.

3 Soru modeli parçaları

Kavram Anlamı
metin Soru metni
siklar Şık dizisi
dogruIndex Doğru cevap indeksi
Cevap Seçilen şık numarası

Orta seviye bölümündeki tüm dersler