Can someone explain what is the difference between functions () and Function () and why the function () is the prototype of the Function () class?
__proto__ is an implementation detail revealing [[prototype]]. The prototype [[prototype]] and the constructor need not be (often not) the same thing. Anyway...
Consider this hypothesis: This is impl. parts that depend on the engine — and in the particular engine under test (FF, which version?), Function is an object that itself has [[prototype]] functions. a function is a primitive function object. Person.prototype (by default) type functions (primitive object-function) and statements formulated as a result of this obvious dichotomy. (JS has some quirks: new Number(0) doesn't match 0 )
However, this is not the case in IE (8). In IE, the default prototype is a "simple object", not a function object.
user166390
source share