Module là gì?
Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 7 trên 56.
Khi code JavaScript của bạn ngày càng lớn và phức tạp, bạn sẽ khó quản lý mọi thứ trong một tệp. Giải pháp là dùng module: chia code thành các tệp riêng biệt, có tổ chức.
module là một tệp JavaScript chứa các đoạn code có liên quan. Mỗi module đảm nhận một nhiệm vụ cụ thể, giúp bạn dễ hiểu và bảo trì ứng dụng hơn.
Module JavaScript là một tệp .js thông thường có thể export code (biến, hàm, lớp) để các tệp khác có thể import và sử dụng.
Ví dụ:
Một tệp lộn xộn:
// tệp: messy-app.js
let user = "John";
let score = 0;
function login() {
console.log("Welcome " + user);
}
function addPoints(points) {
score += points;
}Hai tệp được sắp xếp bằng các module:
// tệp: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}
// tệp: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}user-module.js - Tệp này xử lý việc xác thực người dùng và dữ liệu liên quan đến người dùng, đồng thời chứa chức năng tên người dùng và đăng nhập.
game-module.js - Tệp này quản lý hệ thống tính điểm của trò chơi, theo dõi điểm số và xử lý việc tính điểm.
Thử thách
DễBạn đã kết nối hai module: user-module.js và game-module.js.
Nhiệm vụ của bạn là gọi hàm addPoints với giá trị 10 trong user-module.js.
Đầu ra mong đợi:
Score increased! Current score: 10
Tự làm thử
import { addPoints } from './game-module.js';
let user = "John";
// TODO: Gọi hàm (function) addPoints với giá trị 10
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Lập trình hướng đối tượng
1Đối tượng và từ khóa this
Ôn nhanh: đối tượngThêm phương thức vào đối tượngTìm hiểu từ khóa thisHàm khởi tạoTừ khóa newThử thách ôn tập7Kế thừa và từ khóa extends
Kế thừaQuan hệ "là một"Từ khóa extendsPhương thức super()Kế thừa thuộc tính và phương thứcThử thách ôn tập13Kết hợp hay kế thừa
Quan hệ “có một” và “là một”Những hạn chế của kế thừa nhiều tầngXây dựng đối tượng5Đóng gói và quyền truy cập
Đóng góiTrường công khai và trường riêng tưPhương thức riêng tưThử thách ôn tập8Tổ chức code OOP
Tổ chức các lớp thành module11Dự án: Trình hiển thị hình dạng
Thiết lập: lớp Hình dạng và xuấtKế thừa lớp Hình trònGhi đè và phương thức diện tíchBộ đếm hình dạng tĩnh6Dự án: Tài khoản ngân hàng đơn giản
Lớp BankAccountGửi tiền và rút tiềnSố dư dưới dạng thuộc tính riêng tư9Phương thức và thuộc tính tĩnh
Cấp lớp và cấp instanceThuộc tính tĩnhPhương thức tiện ích tĩnhThử thách ôn tậpTự luyện tập: Trình biên dịch JavaScript online