всплытие переменных после import

167
30 мая 2019, 15:00

Есть ли всплытие переменной var (и соотв-но не всплытие const, let) при ее экспорте из файла? Т.е. когда мы принимаем import variable from './moduls/init' и эта переменная в файле из которого мы импортируем объявлена через var(var variable = ...)? Или же при компиляции бабель сам импортирует их вначало кода?

Answer 1

К началу выполнения модуля все его зависимости должны быть загружены и выполнены.

Поэтому, в принципе, не важно место где указан import. Важно, чтобы не было объявлено одноименных переменных на уровне import.

console.log(a)
import a from 'a'; // OK
var a = 10; // let ; const - то же самое поведение
import a from 'a'; // Uncaught SyntaxError: Identifier 'a' has already been declared
import a from 'a'; // Uncaught SyntaxError: Identifier 'a' has already been declared
var a = 10; // let ; const - то же самое поведение

Стоит так же отметить, что ошибка будет выведена до исполнения модуля, следовательно не будет выполнен не только код текущего модуля, но так же не будут выполнены его зависимости.

READ ALSO
Создание анимации на элементе [закрыт]

Создание анимации на элементе [закрыт]

Какой то ступорПытаюсь скопировать определенный эффект на блоке, но все равно как то не так получается

196
MySql индексация datetime

MySql индексация datetime

WHERE `date_time` BETWEEN '2018-01-01' and '2018-01-02' - Подхватывает индекс

254