Создание ES модуля в JavaScript

Приступим теперь к изучению модулей. Каждый модуль должен представлять собой отдельный файл. Переменные и функции, которые мы разместим в этом файле, не будут доступны снаружи файла. В этом преимущество модулей - мы можем создавать любые переменные и функции, не боясь конфликта с именами из других библиотек.

Те переменные и функции, которые мы хотим сделать видимыми снаружи, мы должны экспортировать с помощью команды export.

Давайте попробуем на примере. Сделаем модуль math, который будет предоставлять библиотеку функций для математических операций.

Разместим наш модуль в файле math.js и сделаем в нем несколько функций:

src/math.jsfunction root2(num) {
  return round(num ** (1 / 2));
}
function root3(num) {
  return round(num ** (1 / 3));
}
function round(num) {
  return num.toFixed(2);
}

Пусть функции для извлечения корней будут основными и будут экспортироваться наружу, а функция для округления - вспомогательной и не будет экспортироваться. Давайте напишем нужным функциям команду export:

src/math.jsexport function root2(num) {
  return round(num ** (1 / 2));
}
export function root3(num) {
  return round(num ** (1 / 3));
}
function round(num) {
  return num.toFixed(2);
}
Задание 1

Сделайте модуль, содержащий функцию pow2 для возведения числа во вторую степень, pow3 для возведения в третью и pow4 для возведения в четвертую.