Menu
Coddy logo textTech

이커머스 상품 시스템

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

challenge icon

챌린지

이것은 온라인 상점 제품 시스템입니다. 제품에는 가격이 있으며, 노트북과 같은 실물 제품은 무게에 따라 배송비를 계산합니다. 전자책과 같은 디지털 제품은 무료 배송입니다.

여러분의 작업은 제품 시스템에서 누락된 메서드들을 완성하는 것입니다:

1: product.js 파일의 Product 클래스를 완성하세요:

  • this.#price를 반환하는 getPrice() 메서드를 추가하세요.
  • ${this.name} - ${this.#price}를 반환하는 getDescription() 메서드를 추가하세요.

2: physicalProduct.js 파일의 PhysicalProduct 클래스를 완성하세요:

  • 다음과 같은 기능을 하는 calculateShipping() 메서드를 추가하세요:
    • this.weight * 0.5 (파운드당 50센트)를 계산합니다.
    • 배송비를 반환합니다.

직접 해보기

import { Product } from './product.js';
import { PhysicalProduct } from './physicalProduct.js';

const book = new Product('Book', 20);
const laptop = new PhysicalProduct('Laptop', 1000, 5);

console.log(book.getDescription()); // 출력 결과: "Book - $20"
console.log(laptop.getDescription()); // 출력 결과: "Laptop - $1000  (5 lbs)"

console.log(`Shipping cost for laptop: $${laptop.calculateShipping()}`); // 출력 결과: "Shipping cost for laptop: $2.5"

console.log(`Book price: $${book.getPrice()}`); // 출력 결과: "20"
console.log(`Laptop price: $${laptop.getPrice()}`); // 출력 결과: "1000"

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