Что такое модули?
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 7 из 56.
Когда ваш JavaScript-код становится большим и сложным, управлять всем в одном файле становится трудно. Решение — это модули: разделение вашего кода на отдельные, организованные файлы.
Модуль — это файл JavaScript, который содержит связанный код. Каждый модуль выполняет одну конкретную задачу, что делает ваше приложение более понятным и простым в обслуживании.
JavaScript-модуль — это обычный .js файл, который может экспортировать код (переменные, функции, классы), чтобы другие файлы могли его импортировать и использовать.
Пример:
Один запутанный файл:
// файл: messy-app.js
let user = "John";
let score = 0;
function login() {
console.log("Welcome " + user);
}
function addPoints(points) {
score += points;
}Два файла, организованных с помощью модулей:
// файл: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}
// файл: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}user-module.js — он обрабатывает аутентификацию пользователей и данные, связанные с пользователями, а также содержит имя пользователя и функциональность входа.
game-module.js — он управляет системой начисления очков и игровым счетом, а также отслеживает счет и обрабатывает расчет очков.
Задание
ЛегкоУ вас уже подключены два модуля: user-module.js и game-module.js.
Ваша задача — вызвать функцию addPoints со значением 10 в user-module.js.
Ожидаемый результат:
Score increased! Current score: 10
Шпаргалка
Модуль — это файл JavaScript, который содержит связанный код. Каждый модуль выполняет одну конкретную задачу, что делает ваше приложение более понятным и удобным в обслуживании.
Модули позволяют разделять код на отдельные организованные файлы вместо того, чтобы хранить всё в одном большом файле.
Модуль JavaScript — это обычный файл .js, который может экспортировать код (переменные, функции, классы), чтобы другие файлы могли его импортировать и использовать.
Пример организации кода с помощью модулей:
// файл: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}// файл: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}Попробуйте сами
import { addPoints } from './game-module.js';
let user = "John";
// TODO: Вызовите функцию addPoints со значением 10
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса Circle14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композиции6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средств9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление