It might seem when looking at JavaScript examples that there are a great number of JavaScript objects. However, what you’re really seeing are objects from four different domains:
Those built into JavaScript
Those from the Browser Object Model
Those from the Document Object Model
Custom objects from the developer
The JavaScript objects are those that are built into JavaScript as language-specific components regardless of the agent that implements the language engine. As such, they’ll always be available, whether JavaScript is implemented in a traditional web browser or in a cell-phone interface.
Among these basic JavaScript objects are those that parallel our
data types, discussed in Chapter 2: String
for strings, Boolean
for booleans, and, of course, Number
for numbers. Each of these objects
encapsulates our basic types; they manage conversion tasks, as well as
provide additional functionality.
There are also several special-purpose objects, such as Math
, Date
,
and RegExp
. That last object provides
regular-expression functionality to JavaScript. Regular expressions are
powerful, though extremely cryptic, patterning capabilities that enable
you to add very precise string matching to applications.
JavaScript also has one built-in aggregator object, the Array
. All objects in JavaScript are inherently
arrays, though they may not look as such when you work with them. All of
these basic JavaScript objects are covered in this chapter.
Each JavaScript object is based on one object known as, appropriately enough, Object
. Object
is covered in Chapter 11, which goes
into creating custom objects and libraries. JavaScript’s approach to
extensibility is a bit unusual. Though current versions of JS are not
truly object-oriented, JavaScript does support the concept of a
constructor and the ability to create instances of objects through the
use of the new
method.
All but one of the built-in objects have unique and useful methods and properties associated with the object type, some of which are accessible with object instances. Others are static, which means they’re only accessible directly on the shared object.
The one object that doesn’t have any unique properties or
methods is the Boolean
object. The only methods and properties it has are those associated with
Object
itself. I’ll use it to
demonstrate creating new instances of an object, and then move on to
covering the other more complex objects.
To create a new instance of the Boolean
object, use the new
keyword and the following syntax:
var holdAnswer = new Boolean(true);
Once a Boolean
is instantiated,
you can access the primitive value it encapsulates (encloses) using
another Object
method, toValue
:
if (holdAnwer.toValue) ...
You can also access it directly, as if it were a primitive data type:
if (holdAnswer) ...
If the Boolean
object lacks new
and exciting functionality, the other objects compensate for it.
Get Learning JavaScript now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.