Object Methods
As discussed earlier, all JavaScript objects (except those
explicitly created without a prototype) inherit properties from
Object.prototype
. These inherited
properties are primarily methods, and because they are universally
available, they are of particular interest to JavaScript programmers.
We’ve already seen the hasOwnProperty()
, property
Is
Enumerable()
, and isPrototypeOf()
methods. (And we’ve also
already covered quite a few static functions defined on the Object
constructor, such as Object
.
create()
and Object.getPrototypeOf()
.) This section
explains a handful of universal object methods that are defined on
Object.prototype
, but which are
intended to be overridden by other, more specialized
classes.
The toString() Method
The toString()
method takes
no arguments; it returns a string that somehow represents the value
of the object on which it is invoked. JavaScript invokes this method
of an object whenever it needs to convert the object to a string.
This occurs, for example, when you use the +
operator to concatenate a string with an
object or when you pass an object to a method that expects a
string.
The default toString()
method is not very informative (though it is useful for determining
the class of an object, as we saw in The class Attribute). For example, the following line of
code simply evaluates to the string “[object Object]”:
var
s
=
{
x
:
1
,
y
:
1
}.
toString
();
Because this default method does not display much useful information, many classes define their own ...
Get JavaScript: The Definitive Guide, 6th Edition 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.