During my exploration of JavaScript prototypes, I came across something that has left me puzzled. Despite understanding that functions are considered first-class objects, I am struggling to comprehend why the 'Object' now possesses a property after the property was set on 'Function.prototype'.
Function.prototype.customProperty = 'value';
Object.customProperty // Now, even 'Object' has this property and returns 'value'
Object.customProperty === Function.prototype.customProperty // Evaluates to true