Chapter 3. Objects
In Chapters 1 and 2, we explained how the this binding points to
various objects depending on the call-site of the function invocation.
But what exactly are objects, and why do we need to point to them? We
will explore objects in detail in this chapter.
Syntax
Objects come in two forms: the declarative (literal) form and the constructed form.
The literal syntax for an object looks like this:
varmyObj={key:value// ...};
The constructed form looks like this:
varmyObj=newObject();myObj.key=value;
The constructed form and the literal form result in exactly the same sort of object. The only difference really is that you can add one or more key/value pairs to the literal declaration, whereas with constructed-form objects, you must add the properties one by one.
Note
It’s extremely uncommon to use the “constructed form” for creating objects as just shown. You would pretty much always want to use the literal syntax form. The same will be true of most of the built-in objects (explained later).
Type
Objects are the general building block upon which much of JS is built. They are one of the six primary types (called “language types” in the specification) in JS:
-
string -
number -
boolean -
null -
undefined -
object
Note that the simple primitives (string, boolean, number,
null, and undefined) are not themselves objects. null is
sometimes referred to as an object type, but this misconception stems
from a bug in the language that causes typeof null to return the
string "object" ...
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