Görev Ekleme Fonksiyonu
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 46 / 73.
Görev
KolayÖnceki görevden size aşağıdakiler sağlanmıştır:
id(number),title(string) vestatus(literal type) özelliklerine sahipTaskarayüzü- Üç görev değişkeni:
firstTask,secondTaskvethirdTask getTaskInfofonksiyonu
İki parametre alan addTask adında bir fonksiyon oluşturun:
Task[]tipindetaskList(Task nesnelerinden oluşan bir dizi)stringtipindetitle(yeni görevin başlığı)
Fonksiyon şunları yapmalıdır:
- Benzersiz bir ID'ye sahip yeni bir görev oluşturun (mevcut dizinin uzunluğu + 1 kullanın)
- Başlığı, sağlanan title parametresine ayarlayın
- Durumu (status)
'todo'olarak ayarlayın - Mevcut tüm görevleri ve yeni görevi içeren yeni bir dizi döndürün
firstTask ve secondTask öğelerini içeren Task[] tipinde initialTasks adında bir değişken oluşturarak başlangıç görev listesini oluşturun.
initialTasks listesine "Review code changes" başlığıyla yeni bir görev eklemek için addTask fonksiyonunuzu kullanın ve sonucu updatedTasks adında bir değişkende saklayın.
Aşağıdaki çıktıları ayrı satırlara yazdırın:
initialTasksdizisinin uzunluğunu yazdırınupdatedTasksdizisinin uzunluğunu yazdırınupdatedTasksiçindeki son görevlegetTaskInfofonksiyonunu çağırın ve sonucu yazdırın- Yeni eklenen görevin (
updatedTasksiçindeki son görev) başlığını yazdırın - Yeni eklenen görevin durumunu (status) yazdırın
Kendin dene
// TODO: Write your code here
// Create the Task interface
interface Task {
id: number;
title: string;
status: 'todo' | 'in-progress' | 'done';
}
// Create the task variables
const firstTask: Task = {
id: 1,
title: "Learn TypeScript interfaces",
status: 'todo'
};
const secondTask: Task = {
id: 2,
title: "Build task management app",
status: 'in-progress'
};
const thirdTask: Task = {
id: 3,
title: "Write unit tests",
status: 'done'
};
// Create the getTaskInfo function
function getTaskInfo(task: Task): string {
return `Task ${task.id}: ${task.title} - ${task.status}`;
}
// Print the required outputs
console.log(getTaskInfo(firstTask));
console.log(getTaskInfo(secondTask));
console.log(getTaskInfo(thirdTask));
console.log(firstTask.status);
console.log(secondTask.title);TypeScript'e Giriş bölümündeki tüm dersler
1TS ile Başlarken
TypeScript Nedir?Neden TypeScript Kullanılır?İlk TypeScript KodunuzDerleme Süreci ve HatalarÖzet: TS'ye Giriş4Fonksiyonlarla Çalışmak
Parametre ve Dönüş Değerlerini TiplendirmeArrow Fonksiyonlarını Tiplendirme'void' Dönüş Tipi'?' ile Opsiyonel ParametrelerVarsayılan Parametre DeğerleriRest Parametrelerini TiplendirmeFonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar Oluşturma7Proje: Basit Bir Görev Listesi
Proje: Görev Struct'ını TanımlamaGörev Ekleme Fonksiyonu2Temel Tipler
Temel Tipler: str, num, boolean'any' Tipi: Kaçış Yolu'unknown' Tipi'null' ve 'undef' ile ÇalışmakTip Çıkarımı İş BaşındaAçık Tip BelirlemeleriÖzet: Temel Tipler Pratiği5Tipler: Takma Adlar, Unionlar ve Kesişimler
İlkel Tipler için Tip Takma AdlarıUnion Tipler ('|')Union Tipler ile ÇalışmakLiteral TiplerKesişim Tipleri ('&')Tip Takma Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Veri Yapısı: Diziler ve Tuple
Tipli DizilerDiziler için 'readonly' BelirleyicisiTuple Nedir?Tuple Tanımlama ve ErişmeTuple DestructuringReadonly Tuple'larÇok Boyutlu Tipli DizilerDizilerle Spread OperatörüÖzet: Diziler ve Tuple'lar6Nesneleri ve Interface'leri Tiplendirme
Satır İçi Nesne Tipi BelirtimleriNesneler için Type Alias KullanımıInterface'lere GirişInterface'ler ve Type Alias'ların KarşılaştırılmasıOpsiyonel ve Readonly ÖzelliklerInterface ve Tipleri GenişletmeInterface'lere Metot EklemeÖzet: Nesne Yapılarını Tanımlama