[2] JavaScript のオブジェクトは内部特性・内部メソッドを持つことがあります。 内部特性・内部メソッドは仕様の定義のためのもので、言語仕様の一部分ではないとされています ES3 8.6.2。
[3] 内部特性・内部メソッドは [[...]]
のように括弧で括って表記されます。仕様上は JavaScript
プログラム内からこの表記で内部特性・内部属性にアクセスできるわけではありません。
実際にはいくつかの内部特性にアクセスする方法も用意されていることがあります。
{Internal}
特性属性[4] Internal
ES3 8.6.1
は内部特性・内部メソッドのための特性属性と思われますが、
実際には ES3 仕様書中のどこでも使われていません。
[5] 括弧内は JavaScript プログラムから当該内部特性にアクセスする方法を表します。
[[Call]]
[[CanPut]]
[[Class]]
(Object.prototype.toString
')[[Construct]]
[[DefaultValue]]
[[Delete]]
[[Get]]
[[HasInstance]]
[[HasProperty]]
[[Match]]
[[Prototype]]
(__proto__
)[[Put]]
[[Scope]]
[[Value]]
(Boolean
, Number
, String
)[6] Allow other specifications to override object internal methods in spe… · heycam/webidl@e2ae8d7 ( 版) <https://github.com/heycam/webidl/commit/e2ae8d710a36a41582aa92e10759e0759db41a89>
[7] 29377 – Overwriting JavaScript internal methods ( 版) <https://www.w3.org/Bugs/Public/show_bug.cgi?id=29377>
[8] Consistent use of internal slots/methods (TimothyGu著, ) <https://github.com/heycam/webidl/commit/9842dd4dd9b9d26014ca053301ae3e66184d8bfe>
[9] Add space to class string of iterator objects by TimothyGu · Pull Request #483 · heycam/webidl () <https://github.com/heycam/webidl/pull/483>