javascript — Почему я могу запустить и обработать событие, прежде чем регистрироваться на него?

Почему я могу запустить событие и обработать его до регистрации?

Этот запутанный код работает:

 let event = new CustomEvent("customEvent", { detail: { book: "FullStack Vue " } }); window.dispatchEvent(event); window.addEventListener("customEvent", e ={amp}gt; console.log("This book is "   e.detail.book) ); 

Непонятная часть для меня: во время запуска мероприятия я еще не зарегистрирован как слушатель, верно? Событие должно уйти куда-нибудь в пустоту. Или это какое-то «состояние гонки»? Что регистрация события будет сделана до того, как событие действительно будет запущено?

Или почему я не должен «слушать» событие до того, как я его на самом деле запущу? Я пытаюсь разобраться в этом простом примере.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector