Menu
CoddyTech

Xác thực tác giả sách

Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 52 trên 56.

challenge icon

Thử thách

Cải thiện hàm khởi tạo của lớp Book bằng cách thêm bước xác thực. Hiện tại, Book chấp nhận mọi giá trị cho tham số author, nhưng lớp này chỉ nên chấp nhận một instance của Author.

Nhiệm vụ của bạn:

  1. Trong hàm khởi tạo của Book, thêm một bước kiểm tra if-else
  2. Nếu author hợp lệ (là một instance của lớp Author) khi dùng author instanceof Author, hãy đặt this.#author = author
  3. Nếu không (author không hợp lệ): Ghi chính xác “Invalid author: must be Author instance”. Đặt this.#author = null

Như vậy, sách vẫn được tạo ngay cả khi author không hợp lệ.

Tự làm thử

import { Author } from './Author.js';
import { Book } from './Book.js';

// Kiểm thử
const rowling = new Author('J.K. Rowling');

// Trường hợp hợp lệ (chạy bình thường, không hiện thông báo)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Đầu ra cần là: "Author: J.K. Rowling"

// Các trường hợp không hợp lệ (cần ghi thông báo nhưng vẫn tạo sách)
const invalid1 = new Book('Fake Book', 'String Author');

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch JavaScript online