회사 서비스 내 특정 이벤트를 외부에서 트리거하는 로직 관련하여 고민하고 해결한 경험들을 토대로 주요 개념인,
Event와CustomEvent인터페이스를 정리하였다.
우리 서비스를 고객사 프로젝트에 script로 삽입하여 호출하는 방식으로 구현되어 있는데,
서비스 자체 이벤트들은 자체 내부적으로만 트리거 되기 때문에, 외부에서 해당 이벤트를 유발할 수 없도록 구현되어 있었다.
커스텀 이벤트는 Event 또는 CustomEvent 인터페이스 생성자 함수를 통해 생성될 수 있다.
 const myEvent = new Event("myCustomEvent")
 document.addEventListener("myCustomEvent", e => {
   console.log(e)
 })
 // dispatch를 통해 이벤트를 트리거(동작)시킨다.
 document.dispatchEvent(myEvent)
Event의 속성을 상속한다.detail 프로퍼티를 추가하여 해당 detail 정보를 이벤트에 전달할 수 있다. detail에 명시한다.const test = new CustomEvent("test", {
      detail: {
        name : "홍길동"
      },
    }
  );
document.addEventListener("test", (e) => {
 	console.log(e.detail.name) // 홍길동
})
document.dispatchEvent(test)
Event와 CustomEvent의 공통 속성 및 요소들type : 이벤트 명 (string)options : bubbles, cancelable, composed, detail(CustomEvent만 제공) 등 세부 속성을 정의 (object)const test = new CustomEvent(type[, options]);
  );
bubbles : true