Window.self 読み取り専用プロパティは、WindowProxy のように、ウィンドウ自身を返します。window オブジェクトでドット表記法 (つまり、window.self) を使用して使うことも、単独 (self) で使うこともできます。単独表記法を使用する利点は、Web Workers のような非 window コンテクストにも同様の表記法が存在することです。self を使用することで、window コンテキスト (selfwindow.self として解決されます) だけでなく、worker コンテキスト (selfWorkerGlobalScope.self として解決されます) でも機能するようにグローバルスコープを参照できます。

構文

var w = window.self;  // w === window

次のような window.self の使い方は、window に置き換えることもできます。

if (window.parent.frames[0] != window.self) {
  // このウィンドウは、一覧における一番最初のフレームではありません。
}

さらに、ブラウジングコンテクストのアクティブなドキュメントで実行するとき、window は現在のグローバルオブジェクトを参照するため、以下のものはすべて等価です:

var w1 = window;
var w2 = self;
var w3 = window.window;
var w4 = window.self;
// w1, w2, w3, w4 は厳密に等価、しかし w2 だけは worker で動作します。

仕様

仕様 状態 コメント
WHATWG HTML Living Standard
Window.self の定義
現行の標準 最新のスナップショット HTML5.1 からの変更なし
HTML5.1
Window.self の定義
勧告 HTML5 からの変更なし
HTML5
Window.self の定義
勧告 Window.self の定義を含む最初のスナップショット

ブラウザー互換性

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) (有) (有) (有) (有)
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有) (有)

関連

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

 このページの貢献者: YuichiNukiyama, momdo, teoli, ethertank, Potappo
 最終更新者: YuichiNukiyama,