As we know everything in Javascript inherits from Object:
So if I create an object using constructor function like below:
function Rabbit() {
this.color = 'White'
}
let obj = new Rabbit();
alert(Rabbit.__proto__ === Function.prototype) //true
alert(obj.__proto__ === Rabbit.prototype) //true
alert(obj.__proto__.__proto__ === Object.prototype) //true
alert(Function.__proto__ === Object.prototype) //false
alert(Object.getPrototypeOf(Function) === Object.getPrototypeOf(Object)) //true
The first 3 results make sense because obj inherits from Rabbit function which itself inherits from Function. But if Function inherits from Object then why is the 4th result False. Also why do both Object and Function have same prototype (last result)?
Can someone explain this behavior. Am i missing something here?

