03. Constructor Property
All types in JavaScript (except the null
and undefined
values) have a constructor
property, which is a part of the inheritance. The constructor
property in a prototype is automatically setup to reference the constructor function. Because properties are inherited from the prototype, the constructor
is available on the instance object too.
For example:
It serves as a public identity of the class, which means it can be used for:
Identify to what class belongs an object (an alternative to
instanceof
)Reference from an object or a prototype the constructor function
Get the class name
Constructors for primitive types
In JavaScript the primitive types has a constructor property, which refers to the corresponding type function:
Number()
for numbers:(1).constructor === Number
Boolean()
for boolean:(true).constructor === Boolean
String()
for strings:('hello').constructor === String
Symbol()
for symbols:Symbol().constructor === Symbol
constructor
is a regular non-enumerable property in the prototype object. It does not update automatically when a new object is created based on it. When creating a subclass, the correct constructor should be setup manually.
Last updated
Was this helpful?