---
sidebar_position: 2
---

# Экспорт и импорт
Вот все варианты export, которые мы разобрали в этой и предыдущей главах.

Вы можете проверить себя, читая их и вспоминая, что они означают:

- Перед объявлением класса/функции/…:
  - export `[default]` class/function/variable ...
- Отдельный экспорт:
  - export `{x [as y], ...}`.
- Реэкспорт:
  - export `{x [as y], ...}` from "module"
  - export * from "module" (не реэкспортирует export default).
  - export `{default [as y]}` from "module" (реэкспортирует только export default).

Импорт:
- Именованные экспорты из модуля:
  - import `{x [as y], ...}` from "module"
- Импорт по умолчанию:
  - import x from "module"
  - import `{default as x}` from "module"
- Всё сразу:
  - import * as obj from "module"
  - Только подключить модуль (его код запустится), но не присваивать его переменной:
  - import "module"

Мы можем поставить import/export в начало или в конец скрипта, это не имеет значения.

💥 **Обратите внимание, что инструкции import/export не работают внутри `{...}`.**

🚀 **Источник: [https://learn.javascript.ru/import-export](https://learn.javascript.ru/import-export)**