자바스크립트를 사용하는 방법
에서 모듈식 프로그래밍을 구현하시겠습니까?
JavaScript 애플리케이션이 계속해서 복잡해짐에 따라 모듈식 프로그래밍은 개발자의 일상 작업에서 필수적인 부분이 되었습니다. Javascript 모듈식 프로그래밍은 코딩을 더 명확하고, 유지 관리하기 쉽고, 재사용 가능하게 만들고, 네임스페이스 오염을 줄이는 데 도움이 되므로 개발자들 사이에서 점점 더 인기를 얻고 있습니다. 이 기사에서는 JavaScript로 모듈형 프로그래밍을 구현하는 방법을 소개합니다.
모듈화의 개념
JavaScript에서 모듈화는 유지 관리, 테스트 및 재사용이 쉬운 별도의 모듈로 코드를 나누는 것을 의미합니다. 각 모듈에는 고유한 네임스페이스가 있으며 동일한 모듈 내의 변수와 함수는 서로 간섭하지 않습니다. 모듈을 나누는 것의 장점은 전역 변수 사용을 효과적으로 피할 수 있다는 것입니다. 이를 통해 변수와 함수 이름 간의 충돌을 줄이고 코드를 더 모듈화하고 읽기 쉽게 만들 수 있습니다.
ES6 모듈성 사양
ES6 이전에는 JavaScript에 표준 모듈성 사양이 없었습니다. ES6에서는 코드를 별도의 모듈로 나누는 것을 지원하는 기본 솔루션이 제공됩니다. ES6 모듈성 사양은 export
와 import
라는 두 가지 가장 중요한 키워드를 제공합니다. export
和import
。
-
export
:将具体的对象、函数或变量公开给其他模块。 -
import
:引入其他模块公开的具体的对象、函数或变量。
语法示例:
export function sum(a, b){
return a + b;
}
import { sum } from './math.js';
console.log(sum(1, 2)); // output: 3
在以上代码片段中,我们通过export
函数将sum
函数暴露出来。在另一个模块中,利用import
语句导入sum
函数,并使用它来计算两个数字的和。
实现一个简单的模块
假设我们制作了一个在线电商网站,我们需要实现一个购物车模块。购物车将包含一个或多个商品以及它们的数量和总价。
创建一个简单的cart.js
文件来实现这个模块。修改cart.js
的代码如下:
const cart = [];
// 向购物车中添加商品的函数
export function addItem(item, quantity) {
for (let i = 0; i < cart.length; i++) { let current = cart[i]; if (current.item === item) { current.quantity += quantity; return; } } cart.push({ item: item, quantity: quantity });
}
// 取消购物车中商品的函数
export function removeItem(item) {
for (let i = 0; i < cart.length; i++) { let current = cart[i]; if (current.item === item) { cart.splice(i, 1); break; } }
}
// 获取购物车中所有商品的总价
export function getTotal() {
let total = 0; for (let i = 0; i < cart.length; i++) { let current = cart[i]; total += current.item.price * current.quantity; } return total;
}
在上述代码中,我们首先定义了一个空数组cart,该数组将包含所有的购买项。接下来定义了三个函数。addItme函数用于向购物车中添加新的物品和数量,removeItem函数用于将购物车中的物品移除,getTotal函数用于通过循环购物车数组返回购物车所包含物品的总价值。
导入购物车模块
现在,我们需要另一个模块要使用购物车模块。让我们创建一个main.js
文件,并在其中添加以下代码:
import { addItem, getTotal } from './cart.js';
const shirt = {
name: 'T-Shirt', price: 10.99,
};
const pants = {
name: 'Jeans', price: 24.99,
};
addItem(shirt, 3);
addItem(pants, 2);
console.log(getTotal());
在这里,我们使用由购物车模块提供的addItem
函数添加了两个商品,然后使用购物车模块的getTotal
-
내보내기
: 특정 개체, 함수 또는 변수를 다른 모듈에 노출합니다. -
import
: 다른 모듈에서 노출되는 특정 개체, 함수 또는 변수를 소개합니다.
rrreee
}🎜🎜import { sum } from './math.js';console.log(sum (1, 2)); // 출력: 3🎜🎜위 코드 조각에서는
export
함수를 통해 sum
함수를 노출합니다. 다른 모듈에서는 import
문을 사용하여 sum
함수를 가져오고 이를 사용하여 두 숫자의 합계를 계산합니다. 🎜🎜간단한 모듈 구현🎜🎜온라인 전자상거래 웹사이트를 만들고 장바구니 모듈을 구현해야 한다고 가정해 보겠습니다. 장바구니에는 수량 및 총 가격과 함께 하나 이상의 품목이 포함됩니다. 🎜🎜이 모듈을 구현하려면 간단한 cart.js
파일을 만드세요. cart.js
의 코드를 다음과 같이 수정합니다: 🎜🎜const cart = [];🎜🎜// 장바구니에 항목을 추가하는 함수내보내기 함수 addItem(item, amount) {🎜 rrreee🎜 }🎜🎜// 장바구니에 담긴 상품을 취소하는 함수
내보내기 함수 RemoveItem(item) {🎜rrreee🎜}🎜🎜// 장바구니에 있는 모든 상품의 총 가격을 가져옵니다.
내보내기 함수 getTotal () {🎜rrreee 🎜}🎜🎜위 코드에서는 먼저 구매한 모든 품목을 담을 빈 배열 카트를 정의합니다. 다음 세 가지 함수가 정의됩니다. addItme 함수는 장바구니에 새 항목과 수량을 추가하는 데 사용되며, RemoveItem 함수는 장바구니에서 항목을 제거하는 데 사용되며, getTotal 함수는 장바구니에 포함된 항목의 총 값을 루프로 반환하는 데 사용됩니다. 장바구니 배열을 통해 🎜🎜장바구니 모듈 가져오기🎜🎜이제 장바구니 모듈을 사용하려면 다른 모듈이 필요합니다.
main.js
파일을 생성하고 그 안에 다음 코드를 추가해 보겠습니다: 🎜🎜import { addItem, getTotal } from './cart.js';🎜🎜const 셔츠 = {🎜rrreee🎜} ; 🎜🎜const pants = {🎜rrreee🎜};🎜🎜addItem(shirt, 3);addItem(pants, 2);🎜🎜console.log(getTotal());🎜🎜여기에서는 addItem 함수는 두 개의 항목을 추가한 후 장바구니 모듈의
getTotal
함수를 사용하여 장바구니에 담긴 모든 항목의 총 가치를 계산합니다. 또 다른 예에서는 다른 모듈에 대한 총 가격 계산기를 소개합니다. 🎜🎜결론🎜🎜JavaScript에서는 네이티브 ES6 모듈 사양을 사용하여 모듈 프로그래밍을 구현할 수 있습니다. 모듈식 프로그래밍을 사용하면 네임스페이스 오염을 방지하고 코드를 더 명확하고 유지 관리하기 쉽게 만듭니다. 작성하는 동안 모듈을 식별할 때 단위 간 분리 정도에 주의해야 합니다. 시스템을 최대한 모듈화하려면 좋은 디자인의 핵심인 높은 응집력과 낮은 결합도의 일반 규칙을 따라야 합니다. 🎜위 내용은 자바스크립트를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Data Fetching 및 기능 구성 요소의 DOM 조작과 같은 부작용을 관리하기위한 후크 인 React의 useEffect에 대해 설명합니다. 메모리 누출과 같은 문제를 방지하기 위해 사용법, 일반적인 부작용 및 정리를 설명합니다.

게으른로드는 필요할 때까지 컨텐츠로드를 지연시켜 초기로드 시간과 서버로드를 줄임으로써 웹 성능 및 사용자 경험을 향상시킵니다.

이 기사는 가상 Dom 트리를 비교하여 DOM을 효율적으로 업데이트하는 React의 조정 알고리즘을 설명합니다. 성능 이점, 최적화 기술 및 사용자 경험에 미치는 영향에 대해 설명합니다. 문자 수 : 159

이 기사는 다중 연계 기능을 단일 연계 함수 시퀀스로 변환하는 기술 인 JavaScript의 카레에 대해 논의합니다. Currying의 구현, 부분 응용 프로그램 및 실제 용도와 같은 혜택, 코드 읽기 향상을 탐색합니다.

JavaScript의 고차 기능은 추상화, 공통 패턴 및 최적화 기술을 통해 코드 간접성, 재사용 성, 모듈성 및 성능을 향상시킵니다.

이 기사는 REACT의 USECONTEXT를 설명하며, 이는 PROP 시추를 피함으로써 상태 관리를 단순화합니다. 중앙 집중식 상태 및 성능 개선과 같은 렌더링을 통해 성능 향상과 같은 이점에 대해 논의합니다.

기사는 Connect ()를 사용하여 React 구성 요소를 Redux Store에 연결하고 MapStateToprops, MapDispatchtoprops 및 성능 영향을 설명합니다.

기사에서는 extentdefault () 메서드를 사용하여 이벤트 처리기의 기본 동작 방지, 향상된 사용자 경험과 같은 이점 및 접근성 문제와 같은 잠재적 문제에 대해 논의합니다.
