JavaScript — это синхронный или асинхронный язык?

Обычный JavaScript-код выполняется последовательно, а асинхронные операции организуются средой исполнения, Promise и очередями продолжений.

Короткий ответ

Что ответить на собеседовании

Обычный JavaScript-код выполняется последовательно, а асинхронные операции организуются средой исполнения, Promise и очередями продолжений.

Подробный разбор

Ответ с пояснениями

Обычный JavaScript-код выполняется последовательно, а асинхронные операции организуются средой исполнения, Promise и очередями продолжений.

В пределах одного агента выполняется один текущий стек JavaScript; await приостанавливает соответствующую async-функцию, но не весь поток. Сетевые операции и таймеры могут продвигаться вне этого стека. Workers позволяют отдельные агенты исполнения. Поэтому противопоставление «язык только синхронный или только асинхронный» слишком грубо: нужно различать модель выполнения и API среды.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее