gekrish gekrish - 11 months ago 50
Javascript Question

Every Object is a function and every function is Object - Which is Correct?

I was reading this link JavaScript_syntax

This seems to be cyclic - that every function is an Object and every Object itself is a function. Which is the atomic one? Can someone explain in a better way?

Answer Source
  1. Anything that is not a primitive type (undefined, null, number, string, boolean) is an object (or an instance) in JavaScript. That means function inherits from object.

  2. Object instances can contain more instances which can be functions. That's what we call a "method" (since it has an automatic this variable).

  3. Since you can't "call" every Object instance, not every object is a function.