In JavaScript, if we have an object but don't know its constructor, how do we get its prototype object?
In Chrome or in the Firefox browser, we can use the object's __proto__ property to get its prototype object directly.
<!-- lang: js -->function F(){};var foo = new F();alert(foo.__proto__ == F.prototype);
However, the __proto__ property is supported in Internet Explorer until IE11.
So how do we get the object's prototype object in a browser that doesn't support the __proto__ property? can be obtained indirectly through constructor.
<!-- lang: js -->function F(){};var foo = new F();alert(foo.constructor.prototype == F.prototype);
The constructor property is not an object's own property, but is obtained from the prototype object up and down the prototype chain. This property points to the constructor that corresponds to the prototype object. The prototype property of the constructor points to the prototype object, so we can get it indirectly.
Getting the object's prototype object in JavaScript