--- title: AbstractWorker slug: Web/API/AbstractWorker tags: - API - Abstract - AbstractWorker - Interface - Reference - Web Workers - Web Workers API - Worker - 워커 - 웹 워커 translation_of: Web/API/AbstractWorker ---
{{ APIRef("Web Workers API") }}

Web Workers APIAbstractWorker 인터페이스는 기본적인 {{domxref("Worker")}}에 더해 {{domxref("ServiceWorker")}}와 {{domxref("SharedWorker")}}까지, 모든 유형의 워커에 공통된 속성과 메서드를 정의하는 추상 인터페이스입니다.

속성

AbstractWorker 인터페이스는 어떠한 속성도 상속하지 않습니다.

이벤트 처리기

{{domxref("AbstractWorker.onerror")}}
error 유형의 {{domxref("ErrorEvent")}}가 워커로 확산되면 호출할 {{domxref("EventListener")}}입니다.

메서드

AbstractWorker 인터페이스는 어떠한 메서드도 구현하거나 상속하지 않습니다.

예제

AbstractWorker는 추상 인터페이스므로 코드 내에서 직접 사용할 일은 없습니다. 대신, AbstractWorker를 상속하는 {{domxref("Worker")}} 또는 {{domxref("SharedWorker")}}를 사용할 것입니다.

다음 코드는 {{domxref("Worker.Worker", "Worker()")}} 생성자를 사용해 새로운 Worker를 생성한 후 워커로 메시지를 전송하는 것을 보입니다.

var myWorker = new Worker('worker.js');

first.onchange = function() {
  myWorker.postMessage([first.value, second.value]);
  console.log('Message posted to worker');
}

위 워커의 코드는 "worker.js" 파일에서 불러오며, first로 표현한 {{htmlelement("input")}} 요소가 존재하는 상황을 가정하여, {{event("change")}} 이벤트 처리기를 부착해 사용자가 first의 값을 바꿀 때마다 워커에 메시지를 전송해 바뀐 값을 알려줍니다.

MDN 웹 문서 GitHub 저장소에 더 많은 예제가 준비돼있습니다.

명세

Specification Status Comment
{{SpecName("HTML WHATWG", "#abstractworker", "AbstractWorker")}} {{Spec2('HTML WHATWG')}} No change from {{SpecName("Web Workers")}}.

브라우저 호환성

{{Compat("api.AbstractWorker")}}

같이 보기