Модули ES6 в JavaScript

НАВИГАЦИЯ ПО СТРАНИЦЕ

Экспорт модулей Импорт модулей Экспорт по умолчанию Импорт значения по умолчанию импорт модулей Node.js

Стандарт ES6 (ECMAScript 2015) ввел новый синтаксис для работы с модулями в JavaScript, предоставляя более удобный и мощный способ организации кода. Модули ES6 позволяют разбивать код на небольшие, независимые части и импортировать их в другие файлы, что способствует повторному использованию кода и обеспечивает лучшую организацию проекта.

Экспорт модулей

Для экспорта переменных, функций или классов из модуля используется ключевое слово export.

// math.js
export const sum = (a, b) => a + b;
export const subtract = (a, b) => a - b;

Импорт модулей

Для импорта экспортированных значений из другого модуля используется ключевое слово import.

// app.js
import { sum, subtract } from './math.js';

console.log(sum(5, 3)); // Выведет: 8
console.log(subtract(10, 4)); // Выведет: 6

Экспорт по умолчанию

Модуль может экспортировать только одно значение по умолчанию, которое импортируется без фигурных скобок.

// utils.js
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
export default capitalize;

Импорт значения по умолчанию

// app.js
import capitalize from './utils.js';

console.log(capitalize('hello')); // Выведет: Hello

Экспорт и импорт модулей Node.js

В Node.js также можно использовать модули ES6 с помощью дополнительных настроек в конфигурации проекта или среды выполнения, например, использовать Babel для транспиляции кода.

// math.js
export const sum = (a, b) => a + b;
export const subtract = (a, b) => a - b;
// app.js
import { sum, subtract } from './math.js';

console.log(sum(5, 3)); // Выведет: 8
console.log(subtract(10, 4)); // Выведет: 6

Модули ES6 предоставляют мощный механизм организации кода в JavaScript, позволяя разбивать его на небольшие, независимые компоненты и упрощая его повторное использование и поддержку. Они широко используются как в клиентском, так и в серверном JavaScript, делая код более чистым, модульным и поддерживаемым.