WorkerGlobalScope: self プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

selfWorkerGlobalScope インターフェイスの読み取り専用プロパティで、 WorkerGlobalScope 自体への参照を返します。ほとんどの場合、これは DedicatedWorkerGlobalScopeSharedWorkerGlobalScopeServiceWorkerGlobalScope などの特有のスコープです。

グローバルスコープオブジェクト(前述のとおり、扱っているワーカーの種類によって異なる)。

次のものをワーカー内で呼び出した場合、

js
console.log(self);

コンソールに書き込まれたワーカーオブジェクトと同じ型のワーカーグローバルスコープが取得されます。ある時は次のようになります。

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.

これは、そのワーカースコープで利用可能なオブジェクトの完全なリストを提供するため、ワーカーが何かを利用できるかを確認したい場合には、非常に便利なテストです。ウェブワーカーが使用できる関数とクラスの一覧もメンテナンスしています。

仕様書

Specification
HTML
# dom-workerglobalscope-self-dev

ブラウザーの互換性

関連情報