WorkerGlobalScope.self

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 Standard
# dom-workerglobalscope-self-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報