Team LiB   Previous Section   Next Section
Object.isPrototypeOf( ) is one object the prototype of another?

Availability

JavaScript 1.5; JScript 5.5; ECMAScript v3

Synopsis

object.isPrototypeOf(o)

Arguments

o

Any object.

Returns

true if object is the prototype of o. Returns false if o is not an object or if object is not the prototype of o.

Description

As explained in Chapter 8, JavaScript objects inherit properties from their prototype object. The prototype of an object is referred to by the prototype property of the constructor function used to create and initialize the object. The isPrototypeOf( ) method provides a way to determine if one object is the prototype of another. This technique can be used to determine the class of an object.

Example

var o = new Object(  );                          // Create an object

Object.prototype.isPrototypeOf(o)                // true: o is an object

Function.prototype.isPrototypeOf(o.toString);    // true: toString is a function

Array.prototype.isPrototypeOf([1,2,3]);          // true: [1,2,3] is an array



// Here is a way to perform a similar test

(o.constructor == Object);  // true: o was created with Object(  ) constructor

(o.toString.constructor == Function);  // true: o.toString is a function



// Prototype objects themselves have prototypes. The following call

// returns true, showing that function objects inherit properties

// from Function.prototype and also from Object.prototype.

Object.prototype.isPrototypeOf(Function.prototype);

See Also

Function.prototype, Object.constructor; Chapter 8

    Team LiB   Previous Section   Next Section