Учитывая, что Javascript является однопоточным
JavaScript не является однопоточным.
Основная часть программы JavaScript выполняется в цикле событий.
Длительные процессы (классический пример XMLHttpRequest) почти всегда обрабатываются для того, чтобы работать вне цикла событий (часто в разных потоках).
Веб-работники - всего лишь средствонаписать JavaScript, который запускается вне основного цикла событий.
Являются ли веб-работники отдельными потоками или процессами?Существует ли разделяемая память, которая классифицирует их как потоки?
Это подробности реализации конкретного механизма JS.