Chapter 4. The JavaScript Objects

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.

The Object Constructor

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 live online training, plus books, videos, and digital content from nearly 200 publishers.