MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

WorkerGlobalScope.self

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

構文

var selfRef = self;

グローバルスコープオブジェクト (上に示したように、扱っている worker の種類によって異なる)。

以下を呼び出した場合、

console.log(self);

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

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.

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

ノート: Firefox には console.log を shared/service worker 内で使用したときのバグがあり (バグ 1058644 を見てください)、おかしな結果を返します。これはすぐに修正されるはずです。

仕様

仕様 ステータス コメント
WHATWG HTML Living Standard
self の定義
現行の標準 Web Workers から変更なし。
Web Workers
self の定義
勧告改訂案 初期定義。

ブラウザー実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 4 3.5 (1.9.1) (有) 11.5 4
機能 Android Chrome for Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート ? 40 1.0 (1.9.1) 1.0.1 (有) (有) 5.1

関連項目

WorkerGlobalScope

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,