Constructors
We
saw previously that you can create and initialize a new object in
JavaScript by using the new
operator in conjunction with a
predefined constructor function such as Object( ),
Date( ), or Function( ). These
predefined constructors and the built-in object types they create are
useful in many instances. However, in object-oriented programming, it
is also common to work with custom object types defined by your
program. For example, if you are writing a program that manipulates
rectangles, you might want to represent
rectangles with a special type, or class, of
object. Each object of this Rectangle class would have a
width property and a height
property, since those are the essential defining characteristics of
rectangles.
To create objects with
properties such as
width and height already
defined, we need to write a constructor to create and initialize
these properties in a new object. A constructor is a JavaScript
function with two special features:
It is invoked through the
newoperator.It is passed a reference to a newly created, empty object as the value of the
thiskeyword, and it is responsible for performing appropriate initialization for that new object.
Example 8-1 shows how the constructor function for a Rectangle object might be defined and invoked.
Example 8-1. A Rectangle object constructor function
// Define the constructor. // Note how it initializes the object referred to by "this". function Rectangle(w, h) { this.width = w; this.height = h; ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access