Menu
CoddyTech

Validasi Penulis Buku

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 52 dari 56.

challenge icon

Tantangan

Tingkatkan constructor class Book dengan menambahkan validasi. Saat ini, Book menerima nilai apa pun untuk parameter author, tetapi seharusnya hanya menerima instance Author.

Tugasmu:

  1. Di constructor Book, tambahkan pemeriksaan if-else
  2. Jika author valid (sebuah instance dari class Author) menggunakan author instanceof Author, tetapkan this.#author = author
  3. Jika tidak (author tidak valid): Catat persis “Invalid author: must be Author instance”. Tetapkan this.#author = null

Dengan cara ini, book tetap harus dibuat meskipun author tidak valid.

Coba sendiri

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

// Pengujian
const rowling = new Author('J.K. Rowling');

// Kasus valid (seharusnya berjalan tanpa pesan)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Seharusnya menghasilkan output: "Author: J.K. Rowling"

// Kasus tidak valid (seharusnya mencatat pesan, tetapi tetap membuat buku)
const invalid1 = new Book('Fake Book', 'String Author');

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler JavaScript online