Constructor1=function(){};
Constructor1.prototype.function1=function this_function()
{
// Suppose this function was called by the lines after this code block
// this_function - this function
// this - the object that this function was called from, i.e. object1
// ??? - the prototype that this function is in, i.e. Constructor1.prototype
}
Constructor2=function(){};
Constructor2.prototype=Object.create(Constructor1.prototype);
Constructor2.prototype.constructor=Constructor2;
object1=new Constructor2();
object1.function1();
コンストラクターの名前を知らずに最後の参照(???で示される)を取得するにはどうすればよいですか?
たとえば、プロトタイプのチェーンから継承するオブジェクトがあったとします。メソッドを呼び出すときに、どのプロトタイプが使用されているかを知ることができますか?
どちらも理論的には可能のようですが、一定数を超える代入ステートメントがないと機能する方法を見つけることができません(そのような関数がたくさんある場合)。