<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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内部特性<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inetrnal property</rt></rubyb></dfn>・<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内部メソッド<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">internal method</rt></rubyb></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>は仕様の定義のためのもので、言語仕様の一部分ではないとされています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ES3</anchor> 8.6.2</src>。</p><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:">内部特性</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内部メソッド</anchor>は <code class="JS" xml:lang="en"><strong>[</strong><strong>[</strong><var>...</var><strong>]</strong><strong>]</strong></code>
のように括弧で括って表記されます。仕様上は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</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:">内部特性</anchor>にアクセスする方法も用意されていることがあります。</p><section><h1>仕様書</h1><ul><li><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>ECMAScript Language Specification (HTML version)</cite> <ul><li><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://bclary.com/2004/11/07/#a-8.6.1">http://bclary.com/2004/11/07/#a-8.6.1</anchor-external></li><li><strong><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://bclary.com/2004/11/07/#a-8.6.2">http://bclary.com/2004/11/07/#a-8.6.2</anchor-external></strong></li></ul></li></ul></section><section><h1><code class="JS" xml:lang="en">{Internal}</code> 特性属性</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> <dfn><code class="JS" xml:lang="en">Internal</code><title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">[特性属性</title></dfn> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ES3</anchor> 8.6.1</src> 
は<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:">ES3</anchor> 仕様書中のどこでも使われていません。</p></section><section><h1>内部特性・内部メソッド一覧</h1><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> 括弧内は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</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>にアクセスする方法を表します。<ul><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Call<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>CanPut<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Class<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code> (<code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Object</anchor>.<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">prototype</anchor>.<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">toString</anchor></code>')</li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Construct<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>DefaultValue<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Delete<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Get<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>HasInstance<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>HasProperty<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Match<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Prototype<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code> (<code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">__proto__</anchor></code>)</li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Put<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Scope<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code></li><li><code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">[</strong><strong xmlns="http://www.w3.org/1999/xhtml">[</strong>Value<strong xmlns="http://www.w3.org/1999/xhtml">]</strong><strong xmlns="http://www.w3.org/1999/xhtml">]</strong></anchor></code> (<code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Boolean</anchor></code>, <code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Number</anchor></code>, <code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">String</anchor></code>)</li></ul></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">Allow other specifications to override object internal methods in spe… · heycam/webidl@e2ae8d7</cite>
(<time>2016-01-19 10:41:50 +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/heycam/webidl/commit/e2ae8d710a36a41582aa92e10759e0759db41a89">https://github.com/heycam/webidl/commit/e2ae8d710a36a41582aa92e10759e0759db41a89</anchor-external></p><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> <cite xml:lang="en">29377 – Overwriting JavaScript internal methods</cite>
(<time>2016-01-19 10:42:22 +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://www.w3.org/Bugs/Public/show_bug.cgi?id=29377">https://www.w3.org/Bugs/Public/show_bug.cgi?id=29377</anchor-external></p><p><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">Consistent use of internal slots/methods</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TimothyGu</anchor>著, <time>2017-12-04 05:20:13 +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/heycam/webidl/commit/9842dd4dd9b9d26014ca053301ae3e66184d8bfe">https://github.com/heycam/webidl/commit/9842dd4dd9b9d26014ca053301ae3e66184d8bfe</anchor-external></p><p><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> <cite xml:lang="en">Add space to class string of iterator objects by TimothyGu · Pull Request #483 · heycam/webidl</cite>
(<time>2017-12-08 16:26:59 +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/heycam/webidl/pull/483">https://github.com/heycam/webidl/pull/483</anchor-external></p></section></body></html>