Menu
CoddyTech

Sistem Produk E-commerce

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

challenge icon

Tantangan

Ini adalah sistem produk toko online. Produk memiliki harga, dan produk fisik (seperti laptop) menghitung biaya pengiriman berdasarkan beratnya. Produk digital (seperti ebook) akan memiliki pengiriman gratis.

Tugasmu adalah melengkapi method yang belum ada dalam sistem produk:

1: Lengkapi class Product di product.js:

  • Tambahkan method getPrice() yang mengembalikan this.#price
  • Tambahkan method getDescription() yang mengembalikan ${this.name} - $${this.#price}

2: Lengkapi class PhysicalProduct di physicalProduct.js:

  • Tambahkan method calculateShipping() yang:
    • Menghitung this.weight * 0.5 (50 sen per pon)
    • Mengembalikan biaya pengiriman

Coba sendiri

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()); // Seharusnya menampilkan: "Book - $20"
console.log(laptop.getDescription()); // Seharusnya menampilkan: "Laptop - $1000  (5 lbs)"

console.log(`Shipping cost for laptop: $${laptop.calculateShipping()}`); // Seharusnya menampilkan: "Shipping cost for laptop: $2.5"

console.log(`Book price: $${book.getPrice()}`); // Seharusnya menampilkan: "20"
console.log(`Laptop price: $${laptop.getPrice()}`); // Seharusnya menampilkan: "1000"

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler JavaScript online