Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

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

Especificación Estado Observaciones
ECMAScript 3rd Edition (ECMA-262) Standard Definición inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'Object.prototype.hasOwnProperty' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object.prototype.hasOwnProperty' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Object.prototype.hasOwnProperty' in that specification.
Draft  

Compatibilidad con navegadores

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

Etiquetas y colaboradores del documento

 Colaboradores en esta página: Grijander81
 Última actualización por: Grijander81,