訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalのECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。
訳:2012年04月 webzoit.net
Errorプロトタイプオブジェクトは、それ自身のErrorオブジェクト(、その[[Class]]は、"Error")です。 Errorプロトタイプオブジェクトの内部プロパティ[[Prototype]]は、標準組み込みObjectプロトタイプオブジェクト(15.2.4)です。
Error.prototype.constructor の初期値は、組み込みErrorコンストラクタです。
Error.prototype.name の初期値は、"Error"です。
Error.prototype.message の初期値は、カラの文字列です。
(toStringは、)次のステップが取られます。
1. O は、 this 値とする 2. Type(O) が、 Object ではない場合、TypeError例外を投げる(スローする) 3. name が、引数"name"を伴う O の内部メソッド[[Get]を呼んだ結果とする 4. name が、 undefined である場合、 name は、 "Error" とし、それ以外の場合は、 name は、 ToString(name) とする 5. msg は、引数"message"を伴う O の内部メソッド[[Get]]を呼んだ結果とする 6. msg が、undefined である場合、カラの文字列を返し、 msg は、 ToString(msg) とする 7. msg が、undefined である場合、カラの文字列を返し、 msg は、 ToString(msg) とする 8. name が、カラの文字列である場合、 msg を返す 9. msg が、カラの文字列である場合、name を返す 10. name, ":", 単一のスペース文字と msg を連結した結果を返す
[注記:]原文:6 と 7 重複。 8 があることを考えると単に一方を削除でよさげ?