新しいプログラミング言語を学ぶ最良の方法は、できるだけ多くのプロジェクトを作成することです。学んだことに焦点を当てたミニプロジェクトを構築すると、初心者としてよりスムーズな経験ができるでしょう。
目標は、「チュートリアル地獄」(スキルを示すための具体的なプロジェクトがないのに、いくつかのチュートリアル ビデオを見続ける恐ろしい場所)を回避し、大規模なプロジェクトに取り組むために必要な自信を築くことです。
この記事では、JavaScript の基本概念を使用して、初心者向けにショッピング カート システムを作成する方法を説明します。
このプロジェクトに挑戦するには、以下に関する深い知識が必要です:
ショッピング カートには、ユーザーが次のことができるシステムが組み込まれます:
まず、項目のデータを保持する配列をいくつか作成する必要があります。特に必要な配列は次のとおりです:
const itemNames = ["Laptop", "Phone"]; const itemPrices = [1000, 500]; const itemQuantities = [1, 2]; const itemInStock = [true, true];
カートのロジックを含むメインのショッピング カート関数を作成します。クロージャーを使用して、カートが非公開であり、特定の関数のみがカートとやり取りできるようにします。
const ShoppingCart = () => { const cart = []; // The cart is a private array // Add an item to the cart const addItemToCart = (itemIndex) => { if (itemInStock[itemIndex]) { cart.push(itemIndex); console.log(`${itemNames[itemIndex]} added to the cart`); } else { console.log(`${itemNames[itemIndex]} is out of stock`); } }; // Remove an item from the cart const removeItemFromCart = (itemIndex) => { const index = cart.indexOf(itemIndex); if (index > -1) { cart.splice(index, 1); } }; // Get the names of items in the cart const getCartItems = () => { return cart.map(itemIndex => itemNames[itemIndex]); }; // Calculate the total price of items in the cart const calculateTotal = () => { return cart.reduce((total, itemIndex) => { return total itemPrices[itemIndex] * itemQuantities[itemIndex]; }, 0); }; return { addItemToCart, removeItemFromCart, getCartItems, calculateTotal }; };
コードを分解するには:
完成したプロジェクトは、必要に応じて動作することを確認するためにテストする必要があります。次についてテストします:
アイテムを追加しています
カートを見る
合計金額を確認しています
const myCart = ShoppingCart(); // Add a Laptop (item 0) myCart.addItemToCart(0); // Add a Phone (item 1) myCart.addItemToCart(1); // View cart contents console.log(myCart.getCartItems()); // Output: ['Laptop', 'Phone'] // Calculate the total price console.log(myCart.calculateTotal()); // Output: 2000
コードを分解するには:
優れたショッピング カート システムでは、ユーザーがカートから商品を削除できる必要があります。これを行うには、removeItemFromCart().
を呼び出します。myCart.removeItemFromCart(1); // Remove the Phone // View the updated cart console.log(myCart.getCartItems()); // Output: ['Laptop'] // Recalculate the total price console.log(myCart.calculateTotal()); // Output: 1000
クロージャを使用すると、カート配列をプライベートに保つことができ、ShoppingCart() 関数によって返される関数を介してのみアクセスできます。
基本的な配列と関数を使用して、アイテムの追加、削除、合計の計算ができる完全に機能するショッピング カート システムを構築しました。このプロジェクトの素晴らしい点は、複雑なオブジェクトやクラスを必要とせずに、クロージャを使用して状態をカプセル化し、管理していることです。
const itemNames = ["Laptop", "Phone"]; const itemPrices = [1000, 500]; const itemQuantities = [1, 2]; const itemInStock = [true, true]; const ShoppingCart = () => { const cart = []; const addItemToCart = (itemIndex) => { if (itemInStock[itemIndex]) { cart.push(itemIndex); console.log(`${itemNames[itemIndex]} added to the cart`); } else { console.log(`${itemNames[itemIndex]} is out of stock`); } }; const removeItemFromCart = (itemIndex) => { const index = cart.indexOf(itemIndex); if (index > -1) { cart.splice(index, 1); } }; const getCartItems = () => { return cart.map(itemIndex => itemNames[itemIndex]); }; const calculateTotal = () => { return cart.reduce((total, itemIndex) => { return total itemPrices[itemIndex] * itemQuantities[itemIndex]; }, 0); }; return { addItemToCart, removeItemFromCart, getCartItems, calculateTotal }; }; const myCart = ShoppingCart(); myCart.addItemToCart(0); myCart.addItemToCart(1); console.log(myCart.getCartItems()); console.log(myCart.calculateTotal()); myCart.removeItemFromCart(1); console.log(myCart.getCartItems()); console.log(myCart.calculateTotal());
学習を楽しんでいただければ幸いです。さらに素晴らしいプロジェクトを構築できることを楽しみにしています!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3