The DedicatedWorkerGlobalScope object (the Worker global scope) is accessible through the self keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the JavaScript Reference. See also: Functions available to workers.

EventTarget WorkerGlobalScope DedicatedWorkerGlobalScope

Instance properties

This interface inherits properties from the WorkerGlobalScope interface, and its parent EventTarget. Read only

The name that the Worker was (optionally) given when it was created using the Worker() constructor. This is mainly useful for debugging purposes.

Instance properties inherited from WorkerGlobalScope


Returns an object reference to the DedicatedWorkerGlobalScope object itself.

WorkerGlobalScope.console Read only

Returns the console associated with the worker.

WorkerGlobalScope.location Read only

Returns the WorkerLocation associated with the worker. WorkerLocation is a specific location object, mostly a subset of the Location for browsing scopes, but adapted to workers.

WorkerGlobalScope.navigator Read only

Returns the WorkerNavigator associated with the worker. WorkerNavigator is a specific navigator object, mostly a subset of the Navigator for browsing scopes, but adapted to workers.

WorkerGlobalScope.performance Read only Non-standard

Returns the Performance object associated with the worker, which is a regular performance object, but with a subset of its properties and methods available.

Instance methods

This interface inherits methods from the WorkerGlobalScope interface, and its parent EventTarget.


Discards any tasks queued in the WorkerGlobalScope's event loop, effectively closing this particular scope.


Sends a message — which can consist of any JavaScript object — to the parent document that first spawned the worker.

Inherited from WorkerGlobalScope

WorkerGlobalScope.dump() Non-standard

Writes a message to the console.


Imports one or more scripts into the worker's scope. You can specify as many as you'd like, separated by commas. For example: importScripts('foo.js', 'bar.js');

Implemented from other places


Decodes a string of data which has been encoded using base-64 encoding.


Creates a base-64 encoded ASCII string from a string of binary data.


Cancels the repeated execution set using setInterval.


Cancels the repeated execution set using setTimeout.


Schedules the execution of a function every X milliseconds.


Sets a delay for executing a function.


Requests the browser to execute a callback function before painting the next frame.


Cancels a callback scheduled by requestAnimationFrame.



Fired when the worker receives a message from its parent.


Fired when a worker receives a message that can't be deserialized.


HTML Standard
# dedicated-workers-and-the-dedicatedworkerglobalscope-interface

Browser compatibility

BCD tables only load in the browser

See also