This page is Ready to Use

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.



Returns the prototype of an object.


Object.getPrototypeOf( object )
Required. The object that references the prototype.

Return Value

The prototype of the object argument. The prototype is also an object.


The following example illustrates the use of the Object.getPrototypeOf function.

// Create a constructor function.
 function Pasta(grain, width) {
     this.grain = grain;
     this.width = width;
 // Create an object from the pasta constructor.
 var spaghetti = new Pasta("wheat", 0.2);

 // Obtain the prototype from the object.
 var proto = Object.getPrototypeOf(spaghetti);

 // Add a property to the prototype and validate that
 // the original object has the property.
 proto.foodgroup = "carbohydrates";
 document.write(spaghetti.foodgroup + " ");

 // Verify that the prototype obtained from the object
 // is the same as the prototype of the constructor.
 var result = (proto === Pasta.prototype);
 document.write(result + " ");

 // Verify that prototype obtained from the object
 // is a prototype of the original object.
 var result = proto.isPrototypeOf(spaghetti);

 // Output: carbohydrates true true

The following example uses the Object.getPrototypeOf function to validate data types.

var reg = /a/;
 var result = (Object.getPrototypeOf(reg) === RegExp.prototype);
 document.write(result + " ");

 var err = new Error("an error");
 var result = (Object.getPrototypeOf(err) === Error.prototype);

 // Output: true true


If the object argument is not an object, a TypeError exception is thrown.

See also

Other articles


  • Microsoft Developer Network: Article