Menu
Coddy logo textTech

도서 저자 유효성 검사

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

challenge icon

챌린지

유효성 검사를 추가하여 Book 클래스 생성자를 개선하세요. 현재 Book은 author 매개변수에 대해 어떤 값이라도 허용하지만, Author 인스턴스만 허용해야 합니다.

수행 과제:

  1. Book 생성자 안에 if-else 체크를 추가하세요.
  2. author instanceof Author를 사용하여 author가 유효한 경우(Author 클래스의 인스턴스인 경우), this.#author = author를 설정하세요.
  3. 그렇지 않은 경우(author가 유효하지 않은 경우): 정확히 “Invalid author: must be Author instance”를 로그로 출력하세요. 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); // 출력 결과: "Author: J.K. Rowling"

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

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