Object.prototype.isPrototypeOf()

El m茅todo isPrototypeOf() comprueba si un objeto se encuentra en la cadena de prototipado de otro.

Nota: isPrototypeOf difiere del operador instanceof. En la expresi贸n "object instanceof AFunction", la cadena de prototipado de object es comprobada contra AFunction.prototype, no contra la propia AFunction.

Sintaxis

prototypeObj.isPrototypeOf(obj)

Par谩metros

prototypeObj
Un objeto para ver comprobado contra cada v铆nculo en la cadena de prototipado del argumento object.
object
El object sobre cuya cadena de prototipado se realizar谩 la b煤squeda.

Descripci贸n

El m茅todo isPrototypeOf permite comprobar si un objetyo existe o no en la cadena de prototipado de otro.

Por ejemplo, considerese la siguiente cadena de prototipado:

function Fee() {
  // ...
}

function Fi() {
  // ...
}
Fi.prototype = new Fee();

function Fo() {
  // ...
}
Fo.prototype = new Fi();

function Fum() {
  // ...
}
Fum.prototype = new Fo();

Al final de la secuencia, si se instanci Fum y se necesita verificar si el prototipo de Fi existe en la cadena de prototipado de Fum prototype chain, puede hacerse esto:

var fum = new Fum();
// ...

if (Fi.prototype.isPrototypeOf(fum)) {
  // do something safe
}

Esto, junto con el operador instanceof resulta especialmente 煤til si se tiene c贸digo que s贸lo puede operar cuando se trata de objetos descendientes de una cadena de prototipado espec铆fica, p.e., para garantizar que ciertos m茅todos o propiedades est茅n presentes en dichos objetos.

Especificaciones

Compatibilidad con navegadores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Prestaci贸n Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte b谩sico (Yes) (Yes) (Yes) (Yes) (Yes)
Prestaci贸n Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte b谩sico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Ver tambi茅n