새로운 프로그래밍 언어를 배우는 가장 좋은 방법은 가능한 한 많은 프로젝트를 만드는 것입니다. 배운 내용을 중심으로 미니 프로젝트를 만들어보면 초보자로서 더욱 원활한 경험을 할 수 있을 것입니다.
목표는 자신의 기술을 보여줄 구체적인 프로젝트 없이 여러 튜토리얼 동영상을 계속 시청하는 무서운 장소인 '튜토리얼 지옥'을 피하고 대규모 프로젝트를 처리하는 데 필요한 자신감을 키우는 것입니다.
이번 글에서는 기본적인 자바스크립트 개념을 이용하여 초보자가 장바구니 시스템을 만드는 방법을 설명하겠습니다.
이 프로젝트를 시도하려면 다음에 대한 심층적인 지식이 필요합니다.
장바구니에는 사용자가 다음을 수행할 수 있는 시스템이 있습니다.
시작하려면 항목에 대한 데이터를 보관할 배열 몇 개를 만들어야 합니다. 구체적으로 필요한 배열은 다음과 같습니다.
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());
배우는 것이 즐거웠기를 바랍니다. 더 멋진 프로젝트를 만들어가시기를 바랍니다!
위 내용은 배열과 함수를 사용하여 JavaScript로 초보자 친화적인 장바구니를 구축하기 위한 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!