<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>の <dfn><code>self</code></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>を表します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書環境</anchor>では、同じく <dfn><code>window</code></dfn> も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>である
<code class="DOMi" xml:lang="en">Window</code> を表します。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml">self</code> を使うと、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書環境</anchor>でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー環境</anchor>でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>にアクセスできます。</comment-p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2016-03-31 07:16:44 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#dom-window">https://html.spec.whatwg.org/#dom-window</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> これら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>を返す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>を介して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>を得ることで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>の様々なメンバーにアクセスできます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <code class="JS" xml:lang="en">this</code> が設定される場面以外では <code class="JS" xml:lang="en">this</code>
が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>を表しますし、それ以外でも名前が衝突しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>のメンバー名によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>メンバーにアクセスできますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>に自身を返す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>があることで、
より容易に確実に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</anchor>のメンバーにアクセスすることができるようになっています。</p></section><section><h1>取得器</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <code class="DOMi" xml:lang="en">Window</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>の
<code class="DOMa" xml:lang="en">window<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">window.window</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>、
<code class="DOMa" xml:lang="en">self<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">window.self</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>、
<code class="DOMa" xml:lang="en">frames<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">window.frames</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">取得器</anchor>は、
次のようにしなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連Realm</f>の
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" class="ss">GlobalEnv</f>
の
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EnvironmentRecord</f>
の
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" class="ss">GlobalThisValue</f>
を返します。</li></ol></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml">Window</code> それ自体を返すことに相当しますが、
<code xmlns="http://www.w3.org/1999/xhtml">Window</code> と <code xmlns="http://www.w3.org/1999/xhtml">WindowProxy</code>
の違いや、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>の有無の関係で、複雑になっています。</comment-p></section><section><h1>設定器</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <code class="DOMi" xml:lang="en">window</code> は、<code class="IDL xattr" xml:lang="en">Unforgeable</code> です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <code class="DOMi" xml:lang="en">self</code>, <code class="DOMi" xml:lang="en">frames</code> は、
<code class="IDL xattr" xml:lang="en">Replaceable</code> です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></src>。</p></section><section><h1>歴史</h1><section><h1>誕生</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript 1.0</anchor> で
<code class="JS" xml:lang="en">window.window</code>,
<code class="JS" xml:lang="en">window.self</code>,
<code class="JS" xml:lang="en">window.frames</code> が実装されました。</p></section><section><h1>標準化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web Applications 1.0</anchor> でようやく標準化されました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en-US">Window Object 1.0</cite>
( (<time>2006-04-08 02:19:28 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/Window/#window">http://www.w3.org/TR/Window/#window</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en">(X)HTML5 Tracking</cite>
(<time>2009-08-30 09:29:48 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://html5.org/tools/web-apps-tracker?from=3693&amp;to=3694">http://html5.org/tools/web-apps-tracker?from=3693&amp;to=3694</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite>Accessible global object 'self'</cite>
(<time>2015-08-04 07:08:14 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://littledan.github.io/global.html">http://littledan.github.io/global.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite>IRC logs: freenode / #whatwg / 20150803</cite>
(<time>2015-08-04 13:43:08 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://krijnhoetmer.nl/irc-logs/whatwg/20150803#l-659">http://krijnhoetmer.nl/irc-logs/whatwg/20150803#l-659</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="en">Make window.window/frames/self deal with no browsing context</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2019-10-16 16:36:52 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/89b7e23daf024fa391077c8587e5a4f1fb064a97">https://github.com/whatwg/html/commit/89b7e23daf024fa391077c8587e5a4f1fb064a97</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="en">GitHub - tc39/proposal-global: ECMAScript Proposal, specs, and reference implementation for `global`</cite>
(<time>2020-07-13 11:48:09 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/tc39/proposal-global">https://github.com/tc39/proposal-global</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">global breaks flickr.com · Issue #20 · tc39/proposal-global · GitHub</cite>
(<time>2020-07-13 11:48:43 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/tc39/proposal-global/issues/20">https://github.com/tc39/proposal-global/issues/20</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="en">Normative: add `globalThis` by ljharb · Pull Request #702 · tc39/ecma262 · GitHub</cite>
(<time>2020-07-13 11:49:00 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/tc39/ecma262/pull/702">https://github.com/tc39/ecma262/pull/702</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 
ただの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NIH</anchor> で草</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en">Clarify Window object's close(), closed, et al · Issue #4363 · whatwg/html · GitHub</cite>
(<time>2020-07-13 11:49:44 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/4363">https://github.com/whatwg/html/issues/4363</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite>Accessible global object 'self'</cite>
(<time>2015-08-07 04:07:53 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://littledan.github.io/global.html">http://littledan.github.io/global.html</anchor-external></p></section></section></body></html>