Вопрос проверяет понимание роли браузера в асинхронной работе JavaScript.
Web APIs — это набор API, предоставляемых браузером, а не JavaScript-движком. Они позволяют работать с таймерами, HTTP-запросами и событиями. Асинхронные операции выполняются вне call stack. После завершения результат возвращается обратно в JavaScript. Это основа асинхронного поведения в браузере.
JavaScript сам по себе не умеет выполнять асинхронные операции — этим занимаются Web APIs, предоставляемые браузером.
К Web APIs относятся:
setTimeout
fetch
DOM events
WebSocket
localStorage
Процесс выглядит так:
JavaScript передаёт задачу в Web API
Web API выполняет операцию асинхронно
После завершения callback ставится в очередь
Event Loop возвращает callback в call stack
Web APIs:
разгружают call stack
позволяют выполнять асинхронные операции
делают JavaScript неблокирующим
Без Web APIs:
нельзя было бы делать HTTP-запросы
таймеры блокировали бы выполнение кода
интерфейс зависал бы
Вывод:
Web APIs — это мост между JavaScript и возможностями браузера, обеспечивающий асинхронную работу приложений.