I am using the following test code:
function Test() {
}
Test.prototype.MyMethod = {
a: function() {
},
b: function() {
}
}
And to run it I'm simply doing:
var test = new Test();
console.debug(test);
In the firebug console, I expand the object that was printed and look inside of __proto__
:
In there find a seemingly unending chain of constructor -> prototype:
+MyMethod
-constructor
-prototype
+MyMethod
-constructor
-prototype
+MyMethod
-constructor
and so on. Did I do something wrong here? Why does the prototype chain seem unending?
prototype
s have a property called constructor
that refers to the function that owns the prototype.
This cycle is by design.
The prototype's constructor refers back to itself, so as you 'unfold' it, you are just opening the same structure over and over again. It is not actually 'infinite.'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With