The target is to print all properties of a function-object.
Could it be implemented via overwriting the toString-method of the prototype-property (which itself is a function) in the Function-object (is that even the right spot?)?
I know that e.g. following is possible, to modify the single properties with the utility Object.defineProperty which can be used to change properties attributes like e.g. enumerable. After that it would occur in a loop.
Object.defineProperty(Function, 'length', {
enumerable: true
});
Object.getOwnPropertyDescriptor(Function, 'length')
{value: 1, writable: true, enumerable: true, configurable: true}
for (let a in Function){
console.log(a);
}
I would like to see the scopes respectively closures that exist in the [[Scopes]]-property, but somehow I think exactly this is not meant to be possible.
Object.entries(Object.getOwnPropertyDescriptors(Function.prototype)).forEach(([key, value]) => console.log([key, JSON.stringify(value)].join(': ')));... "Is there a possibility to modify the prototype-property" ... the OP just did demonstrate how one would achieve that (then withFunction.prototypeinstead of justFunction) ...Function, which is a constructor function according to convention written with capital theF, viewing the [[Scopes]]-property and better understanding the handling of scopes by making it tangible how the variables are being managed that are closed over by a closure.