От воркера надо использовать Worker.postMessage
self.postMessage('hi')
А в основном процессе:
const worker = new Worker("./worker.js", { type: "module", deno: true });
worker.addEventListener('message', message => {
console.log('message', message);
// message.data === 'hi'
});
По поводу self
Доступное только для чтения свойство Window.self возвращает само окно как WindowProxy. Его можно использовать с точечной нотацией для объекта окна (то есть window.self) или автономно (self). Преимущество автономной нотации состоит в том, что аналогичная нотация существует для контекстов без окон, например, в Web Workers . Используя self, вы можете ссылаться на глобальную область видимости таким образом, который будет работать не только в контексте окна (self будет преобразовываться в window.self) , но также и в контексте worker (self затем разрешится в WorkerGlobalScope.self).