var obj = {};
//true
console.log(obj.constructor.prototype === Object.prototype);
//true
console.log(obj.__proto__ === Object.prototype);
//false:
console.log(obj.constructor.prototype === obj.__proto__ === Object.prototype);
Why is the last condition false? I'm suspecting because the order of precedence is executed from left to right, causes:
obj.constructor.prototype === obj.__proto__ === Object.prototype
to become:
true === Object.prototype //this is false
Altough i'm not 100% sure. Any reaffirmation is appreciated.