Menu
Coddy logo textTech

도서 저자 유효성 검사

Coddy JavaScript 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 56개 중 52번째.

challenge icon

챌린지

유효성 검사를 추가하여 Book class constructor를 개선하세요. 현재 Book은 author 매개변수로 모든 값을 허용하지만, Author instance만 허용해야 합니다.

작업 내용:

  1. Book constructor 내부에 if-else 검사를 추가하세요.
  2. author instanceof Author를 사용하여 author가 유효한 경우(Author class의 instance인 경우), this.#author = author로 설정하세요.
  3. Otherwise (author가 유효하지 않은 경우): 정확히 “Invalid author: must be Author instance”를 log 하세요. 그리고 this.#author = null로 설정하세요.

이러한 방식으로 유효하지 않은 author가 전달되더라도 book은 생성되어야 합니다.

직접 해보기

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

// 테스트
const rowling = new Author('J.K. Rowling');

// 유효한 경우 (조용히 작동해야 함)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // Should output: "Author: J.K. Rowling"

// 유효하지 않은 경우 (메시지를 로그하지만 여전히 책을 생성해야 함)
const invalid1 = new Book('Fake Book', 'String Author');

객체 지향 프로그래밍의 모든 레슨