Ödünç alma
- TypeScript kursu
- Başlangıç
- Ders 83/89
- 5 dk
Kitap ödünç alma mantığını yazarsın.
borrowBook fonksiyonu
borrowBook, bir kitabı ödünç verir. Önce find ile kitabı bulursun; kitap varsa ve available ise false yapar ve true döndürür. Aksi halde false döndürür.
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;
}available kontrolü
Kitabı ödünç vermeden önce available alanını kontrol et. true ise ödünç verebilirsin; false ise zaten biri ödünç almış demektir. && ile iki koşulu birleştirirsin.
// Ödünç vermeden önce kontrol:
if (book && book.available) {
book.available = false;
}Uygulama borrowBook fonksiyonu yaz
Book, Member, Library arayüzlerini tanımla. addBook fonksiyonu yaz. borrowBook(lib: Library, bookId: string): boolean fonksiyonu yaz: find ile kitabı bul, varsa ve available ise false yap ve true döndür. Bir kitap ekle, iki kez ödünç almayı dene ve sonuçları yazdır.
Başlangıç kodu
// Book, Member, Library arayüzlerini tanımla
// addBook(lib: Library, book: Book): void yaz
// borrowBook(lib: Library, bookId: string): boolean yaz
// kitabı bul, available ise false yap ve true döndür
// bir kitap ekle, iki kez ödünç almayı 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;
}
const lib: Library = { books: [] };
addBook(lib, { id: "b1", title: "TypeScript", author: "Ada", available: true });
console.log(borrowBook(lib, "b1"));
console.log(borrowBook(lib, "b1"));Beklenen çıktı
true false
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kitap ödünç alındığında available alanı ne olur?
- false yapılır Doğru cevap
- undefined yapılır
- true kalır
- silinir
Açıklama: Ödünç verilen kitabın available alanı false yapılır. Bu, kitabın rafta olmadığını gösterir; kitap silinmez.
2 available kontrolünü tamamla
if (book && book.____) {
if (book && book.available) {
Açıklama: Kitabın ödünç verilebilir olduğunu book.available ile kontrol edersin. title, author ve id ödünç durumuyla ilgilenmez.
3 Ödünç alma parçaları
| Kavram | Anlamı |
|---|---|
borrowBook |
Kitap ödünç al |
book.available |
Ödünç durumu kontrolü |
book.available = false |
Ödünç verildi işareti |
lib.books.find(...) |
İd'ye göre kitap bul |