Доброго времени суток! Как известно, одной из характерных черт JavaScript, наряду c мультипарадигменностью, слабой (динамической) типизацией, автоматическим управлением памятью и прототипным наследованием, является тот факт, что JS — это однопоточный (синхронный) язык.

Что касается синхронности, то ключевым элементом здесь выступает стек вызовов (call stack). Если вы впервые о нем слышите, то настоятельно рекомендую прочитать эту статью и посмотреть это видео.

Насколько хорошо вы знакомы с тем, как работает JS под «катом»?

Давайте проверим.

Предлагаю вашему вниманию небольшой интерактив — игру под названием «CallStack Challenge».

Условия следующие: 11 вопросов на определение порядка вывода значений в консоль, 11 ответов в формате «log,log,log», +1 балл за каждый ответ. Набрали 9+ баллов, значит, вы — мастер коллстека. Набрали меньше — есть над чем работать.

Готовы? Тогда вперед.

Проект на GitHub Pages.



Код проекта на GitHub

Благодарю за внимание.