Модули, введение. Экспорт и импорт

Слайд 2

Модули

Модули (modules), называемые также пространствами имен (namespaces), или пакетами (packages), - популярное

Модули Модули (modules), называемые также пространствами имен (namespaces), или пакетами (packages), -
средство организацииJаvаSсгiрt-приложений. Каждый модуль поддерживает специфичную уникальную функциональность, явля­ ется самодостаточным и отделен от других модулей. Хотя вJavaScript со временем возникло несколько форматов модулей, разработчики пытаются формализовать создание модулей и управление ими.
Модуль – это просто файл. Один скрипт – это один модуль.

Слайд 3

Модули

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

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

Слайд 4

Модули

Этот модуль экспортирует объект myobject и функцию hello(). Его можно использо­ вать

Модули Этот модуль экспортирует объект myobject и функцию hello(). Его можно использо­
в любых других местах - на странице или в другом модуле, - но импортировать из него можно только эти члены. Для импорта служит команда
export const myobject = {};
export const hello = () => {};

Слайд 5

Модули

Каждый модуль имеет свою собственную область видимости. Другими словами, переменные и функции,

Модули Каждый модуль имеет свою собственную область видимости. Другими словами, переменные и
объявленные в модуле, не видны в других скриптах.

Слайд 6

Модули

Модули в HTML :

В модулях всегда включена директива use strict.
Код

Модули Модули в HTML : В модулях всегда включена директива use strict.
в модулях выполняется только один раз. Экспортируемая функциональность создаётся один раз и передаётся всем импортёрам.

Слайд 7

Импорт “как”

использовать as, чтобы импортировать под другими именами.
import {sayHi as hi, sayBye

Импорт “как” использовать as, чтобы импортировать под другими именами. import {sayHi as
as bye} from './say.js';
export {sayHi as hi, sayBye as bye};
export let name1, name2, …, nameN;
export let name1 = …, name2 = …, …, nameN;
export default выражение;
export default function (…) { … } // или class, function*
export default function name1(…) { … } // или class, function*
export { name1 as default, … };
export * from …;