İade etme
- TypeScript kursu
- Başlangıç
- Ders 84/89
- 5 dk
Kitap iade etme mantığını yazarsın.
returnBook fonksiyonu
returnBook, ödünç verilmiş bir kitabı iade eder. find ile kitabı bulursun; kitap varsa ve !available ise (ödünç verilmişse) true yapar ve true döndürür.
function returnBook(lib: Library, bookId: string): boolean {
const book = lib.books.find(b => b.id === bookId);
if (book && !book.available) {
book.available = true;
return true;
}
return false;
}İade kontrolü
İade ederken kitabın ödünç verilmiş olması gerekir; yani available false olmalı. ! operatörü ile bunu kontrol ederiz.
// İade ederken kontrol:
if (book && !book.available) {
book.available = true;
}Uygulama returnBook fonksiyonu yaz
Book, Member, Library arayüzlerini tanımla. addBook ve borrowBook fonksiyonlarını yaz. returnBook(lib: Library, bookId: string): boolean fonksiyonu yaz: find ile kitabı bul, varsa ve !available ise true yap ve true döndür. Bir kitap ekle, ödünç al, iki kez iade etmeyi dene ve sonuçları yazdır.
Başlangıç kodu
// Book, Member, Library arayüzlerini tanımla
// addBook ve borrowBook fonksiyonlarını yaz
// returnBook(lib: Library, bookId: string): boolean yaz
// kitabı bul, ödünç verilmişse available true yap ve true döndür
// bir kitap ekle, ödünç al, iki kez iade etmeyi dene ve yazdırÖrnek çözüm
interface Book { id: string; title: string; author: string; available: boolean; }
interface Member { id: string; name: string; }
interface Library { books: Book[]; }
function addBook(lib: Library, book: Book): void {
lib.books.push(book);
}
function borrowBook(lib: Library, bookId: string): boolean {
const book = lib.books.find(b => b.id === bookId);
if (book && book.available) {
book.available = false;
return true;
}
return false;
}
function returnBook(lib: Library, bookId: string): boolean {
const book = lib.books.find(b => b.id === bookId);
if (book && !book.available) {
book.available = true;
return true;
}
return false;
}
const lib: Library = { books: [] };
addBook(lib, { id: "b1", title: "TypeScript", author: "Ada", available: true });
borrowBook(lib, "b1");
console.log(returnBook(lib, "b1"));
console.log(returnBook(lib, "b1"));Beklenen çıktı
true false
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 returnBook ne zaman true döndürür?
- Kitap bulunamazsa
- Kitap zaten rafta ise
- Kitap ödünç verilmişse Doğru cevap
- Her zaman
Açıklama: returnBook, kitap bulunur ve available false (ödünç verilmiş) ise true döndürür. Kitap zaten rafta ise veya bulunamazsa false döndürür.
2 available değerini tamamla
book.available = ____;
book.available = true;
Açıklama: İade edilen kitabın available alanı true yapılır; kitap tekrar rafta demektir. false ödünç anlamına gelir, "true" string ve 1 sayı yanlış tür.
3 İade etme parçaları
| Kavram | Anlamı |
|---|---|
returnBook |
Kitap iade et |
!book.available |
Ödünç verilmiş kontrolü |
book.available = true |
Rafa geri koy |
return true |
İade başarılı |