[2] [[JavaScript]] の[[オブジェクト]]は[DFN[[RUBYB[内部特性]@en[inetrnal property]]]]・[DFN[[RUBYB[内部メソッド]@en[internal method]]]]を持つことがあります。 [[内部特性]]・[[内部メソッド]]は仕様の定義のためのもので、言語仕様の一部分ではないとされています [SRC@en[[[ES3]] 8.6.2]]。 [3] [[内部特性]]・[[内部メソッド]]は [CODE(JS)@en['''[''''''['''[VAR[...]]''']'''''']''']] のように括弧で括って表記されます。仕様上は [[JavaScript]] [[プログラム]]内からこの表記で[[内部特性]]・[[内部属性]]にアクセスできるわけではありません。 実際にはいくつかの[[内部特性]]にアクセスする方法も用意されていることがあります。 * 仕様書 - [1] [CITE[ECMAScript Language Specification (HTML version)]] -- -- '''''' * [CODE(JS)@en[{Internal}]] 特性属性 [4] [DFN[[CODE(JS)@en[Internal]]] [[特性属性]] [SRC@en[[[ES3]] 8.6.1]] は[[内部特性]]・[[内部メソッド]]のための[[特性属性]]と思われますが、 実際には [[ES3]] 仕様書中のどこでも使われていません。 * 内部特性・内部メソッド一覧 [5] 括弧内は [[JavaScript]] [[プログラム]]から当該[[内部特性]]にアクセスする方法を表します。 - [CODE(JS)@en[[['''[''''''['''Call''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''CanPut''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Class''']'''''']''']]]] ([CODE(JS)@en[[[Object]].[[prototype]].[[toString]]]]') - [CODE(JS)@en[[['''[''''''['''Construct''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''DefaultValue''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Delete''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Get''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''HasInstance''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''HasProperty''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Match''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Prototype''']'''''']''']]]] ([CODE(JS)@en[[[__proto__]]]]) - [CODE(JS)@en[[['''[''''''['''Put''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Scope''']'''''']''']]]] - [CODE(JS)@en[[['''[''''''['''Value''']'''''']''']]]] ([CODE(JS)@en[[[Boolean]]]], [CODE(JS)@en[[[Number]]]], [CODE(JS)@en[[[String]]]])