CodeBlanks Logo Icon CodeBlanks

Görev modeli

Görev ve durum tiplerini tasarlarsın.

Todo modeli

Todo CLI için iki temel tip tanımlarız. Status, bir görevin durumunu belirten literal tür birleşimidir: "active" veya "completed". Todo ise bir görevi temsil eder: id, title ve status alanlarını içerir.

type Status = "active" | "completed";
interface Todo { id: string; title: string; status: Status; }

Boş görev listesi

Boş bir görev listesi, Todo[] türünde boş bir dizi tanımlamaktır. Bu, CLI'nin başlangıç durumudur; görevler ekledikçe dizi büyür.

const todos: Todo[] = [];
console.log(todos.length);  // 0

Uygulama Todo modelini yaz

Status türünü "active" | "completed" olarak tanımla. Todo arayüzünü tanımla: id: string, title: string, status: Status. Boş bir todos dizisi oluştur ve uzunluğunu yazdır.

Başlangıç kodu

index.ts
// Status türünü tanımla (iki değerli literal)
// Todo arayüzü: id, title ve status alanları
// todos dizisi oluştur (boş)
// uzunluğu yazdır

Örnek çözüm

index.ts
type Status = "active" | "completed";

interface Todo {
  id: string;
  title: string;
  status: Status;
}

const todos: Todo[] = [];
console.log(todos.length);

Beklenen çıktı

0

Soru ve cevaplar

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

1 Bir Todo'nun status alanı hangi türde olmalıdır?

  • boolean
  • "active" | "completed" Doğru cevap
  • string
  • number

Açıklama: Status, literal type birleşimidir: "active" veya "completed". Bu, yalnızca iki geçerli durum olduğunu garanti eder ve string tüm değerlere izin vermez.

2 Status birleşimini tamamla

Soru
type Status = "active" ____ "completed";
Cevap
type Status = "active" | "completed";

Açıklama: Status, iki literalın pipe ile birleşimidir. & kesişim (never olur), || ve + tür operatörü değildir.

3 Todo model parçaları

Kavram Anlamı
Status Durum türü (active veya completed)
Todo Görev modeli (id, title, status)
"active" | "completed" İki durum literalı
Todo[] Görev listesi

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