昨日書いたのは間違いだったっぽい……
function Foo(len) { this.length = len; } Foo.prototype = { unk : function () { alert("unk"); } } alert(Foo.prototype.constructor); //=> function Object() {} Object.prototype.bar = function () {alert("bar")} Array.prototype.baz = function () {alert("baz")} Foo.prototype.constructor = Array; alert(Foo.prototype.constructor); //=> function Array() {} var ifoo = new Foo(3); ifoo.unk(); //=> unk ifoo.bar(); //=> bar ifoo.baz(); //=> ifoo.baz is not a function
prototype のプロトタイプを辿っていくのがプロトタイプチェーンじゃないのか……それとも prorotype のプロトタイプというのを勘違いしているんだろうか……