The self
read-only property of the WorkerGlobalScope
interface returns a reference to the WorkerGlobalScope
itself. Most of the time it is a specific scope like DedicatedWorkerGlobalScope
, SharedWorkerGlobalScope
, or ServiceWorkerGlobalScope
.
var selfRef = self;
A global scope object (differs depending on the type of worker you are dealing with, as indicated above).
If you called
console.log(self);
inside a worker, you will get a worker global scope of the same type as that worker object written to the console — something like the following:
DedicatedWorkerGlobalScope { undefined: undefined, Infinity: Infinity, Math: MathConstructor, NaN: NaN, Intl: Object…} Infinity: Infinity Array: function Array() { [native code] } arguments: null caller: null isArray: function isArray() { [native code] } length: 1 name: "Array" observe: function observe() { [native code] } prototype: Array[0] unobserve: function unobserve() { [native code] } __proto__: function Empty() {} <function scope> ArrayBuffer: function ArrayBuffer() { [native code] } Blob: function Blob() { [native code] } Boolean: function Boolean() { [native code] } DataView: function DataView() { [native code] } Date: function Date() { [native code] } DedicatedWorkerGlobalScope: function DedicatedWorkerGlobalScope() { [native code] } Error: function Error() { [native code] } // etc. etc.
This provides a full list of the objects available to that worker scope, so it is quite a useful test if you want to see whether something is available to your worker or not. We also maintain a list of Functions and classes available to Web Workers.
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'self' in that specification. | Living Standard |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 4 | ? | 3.5 | Yes | 11.5 | 4 |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | ? | 40 | ? | 34 | Yes | 5.1 | 4.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/self