window.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.

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 に置き換えることもできます。

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

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

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

仕様

Specification
HTML
# dom-self-dev

ブラウザー互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
self

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連