訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalのECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。
訳:2012年04月 webzoit.net
Objectが、 new 式の一部として呼ばれる場合、それはオブジェクトを生成する可能性のあるコンストラクタです。
Objectのコンストラクタが、引数なし、または、1つの引数 value を伴って呼ばれる場合、次のステップが取られます。
1. value が提供される場合、 a. Type(value) が、 Objectである場合、 i. value が、ネイティブECMAScriptのオブジェクトである場合、新たなオブジェクトを生成せずに、単に value を返す ii. value が、ホストオブジェクトである場合、ホストオブジェクトに依存する場合がある実装依存の方法でアクションが実行され、任意の結果が返される b. Type(value) が、 Stringである場合、 ToObject(value) を返す c. Type(value) が、 Booleanである場合、 ToObject(value) を返す d. Type(value) が、 Numberである場合、 ToObject(value) を返す 2. Assert: 引数の値は、提供されなかったか、その型は、Null または Undefinedだった 3. obj は、新たに生成したECMAScriptオブジェクト 4. obj の内部プロパティ[[Prototype]]に標準組み込みObjectプロトタイプオブジェクト(15.2.4)を設定 5. obj の内部プロパティ[[Class]]に"Object"を設定 6. obj の内部プロパティ[[Extensible]]にtrueを設定 7. 8.12 で指定したように全ての obj の内部メソッドを設定 8. obj を返す