JavaScript: Difference Between typeof, instanceof, constructor property
typeof
return the type of the object, but array, object, date, regex, etc all just return"object"
. [see “typeof” Operator]instanceof
checks if a object is in the Prototype Chain of a function's property"prototype"
's value. [see instanceof Operator]- Property key
"constructor"
is meant to return the function that created the object.
TIP: You shoud avoid using any of them, because they are not reliable.
Instead, check directly what you are looking for, by:
- Check for parent object. [see Get/Set Prototype]
- Check for the exact “subtype” of a object. [see Determine Type of Object]
- Check for the exact property, own or inherited. [see Check Property Existence]