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