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 2015年7月.
Window.self 読み取り専用プロパティは、WindowProxy のように、ウィンドウ自身を返します。window オブジェクトでドット表記法 (つまり、window.self) を使用して使うことも、単独 (self) で使うこともできます。単独表記法を使用する利点は、ウェブワーカーのようなウィンドウコンテキスト以外にも同様の表記法が存在することです。self を使用することで、ウィンドウコンテキスト (self は window.self として解決されます) だけでなく、ワーカーコンテキスト (self は WorkerGlobalScope.self として解決されます) でも機能するようにグローバルスコープを参照できます。
値
WindowProxy オブジェクトです。
例
次のような window.self の使い方は、window に置き換えることもできます。
js
if (window.parent.frames[0] !== window.self) {
// このウィンドウは、一覧における一番最初のフレームではありません。
}
さらに、閲覧コンテキストのアクティブな文書で実行するとき、window は現在のグローバルオブジェクトを参照するため、以下のものはすべて等価です。
js
const w1 = window;
const w2 = self;
const w3 = window.window;
const w4 = window.self;
// w1, w2, w3, w4 は厳密に等価、しかし w2 だけは worker で動作します。
仕様書
| Specification |
|---|
| HTML> # dom-self-dev> |
ブラウザーの互換性
関連
- この
WorkerはWorkerGlobalScope.selfと同等