window

Window インターフェイス self 属性 (DOM)

[10] 大域オブジェクトself は、大域オブジェクトを表します。 文書環境では、同じく window大域オブジェクトである Window を表します。

[11] self を使うと、文書環境でもワーカー環境でも大域オブジェクトにアクセスできます。

仕様書

意味

[15] これら大域オブジェクトを返すIDL属性を介して大域オブジェクトを得ることで、 大域オブジェクトの様々なメンバーにアクセスできます。

[14] this が設定される場面以外では this大域オブジェクトを表しますし、それ以外でも名前が衝突しなければ大域オブジェクトのメンバー名によって大域オブジェクトメンバーにアクセスできますが、 大域オブジェクトに自身を返すIDL属性があることで、 より容易に確実に大域オブジェクトのメンバーにアクセスすることができるようになっています。

取得器

[7] Window オブジェクトwindow IDL属性self IDL属性frames IDL属性取得器は、 次のようにしなければなりません >>8

  1. [9] 文脈オブジェクト関連RealmGlobalEnvEnvironmentRecordGlobalThisValue を返します。
[17] Window それ自体を返すことに相当しますが、 WindowWindowProxy の違いや、 閲覧文脈の有無の関係で、複雑になっています。

設定器

[12] window は、Unforgeable です >>8

[13] self, frames は、 Replaceable です >>8

歴史

誕生

[3] JavaScript 1.0window.window, window.self, window.frames が実装されました。

標準化

[4] Web Applications 1.0 でようやく標準化されました。

[6] Window Object 1.0 ( ( 版)) http://www.w3.org/TR/Window/#window

[5] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=3693&to=3694

[1] Accessible global object 'self' ( 版) http://littledan.github.io/global.html

[2] IRC logs: freenode / #whatwg / 20150803 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20150803#l-659

[16] Make window.window/frames/self deal with no browsing context (annevk著, ) https://github.com/whatwg/html/commit/89b7e23daf024fa391077c8587e5a4f1fb064a97

[18] GitHub - tc39/proposal-global: ECMAScript Proposal, specs, and reference implementation for `global` () https://github.com/tc39/proposal-global

[19] global breaks flickr.com · Issue #20 · tc39/proposal-global · GitHub () https://github.com/tc39/proposal-global/issues/20

[20] Normative: add `globalThis` by ljharb · Pull Request #702 · tc39/ecma262 · GitHub () https://github.com/tc39/ecma262/pull/702

[22] ただの NIH で草

[21] Clarify Window object's close(), closed, et al · Issue #4363 · whatwg/html · GitHub () https://github.com/whatwg/html/issues/4363

[23] Accessible global object 'self' () http://littledan.github.io/global.html