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:
var
myObj
=
{
key
:
value
// ...
};
The constructed form looks like this:
var
myObj
=
new
Object
();
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 ...
Get You Don't Know JS: this & Object Prototypes 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.