Considérese un objeto, con una cadena de prototipo:equivalente instanceOf para las cadenas Object.create y prototipos de
var A = {};
var B = Object.create(A);
var C = Object.create(B);
Cómo comprobar en tiempo de ejecución si C tiene un prototipo en su cadena?
instanceof
no encaja, ya que está diseñado para funcionar con funciones de constructor, que no estoy usando aquí.
+1 Solución simple. Aunque sus ejemplos son completamente correctos, sería 'Array.prototype.isPrototypeOf (C)' para verificar si 'C' es una matriz (encontré que su último ejemplo es un poco ambiguo, usar' isPrototypeOf' en una función no suele ser Lo que quieras). – pimvdb
Tiene toda la razón, no quería perder demasiado tiempo ya que una respuesta ya se había dado en ese momento, así que no pensé demasiado en los ejemplos, mi objetivo era solo mostrar el método disponible. .Aún corregiré el ejemplo dado con tu respuesta, ya que como dijiste y estoy de acuerdo, mi último ejemplo es ambiguo, gracias por el aviso =) – Couto
Solo una pregunta rápida: ¿cómo es posible que el objeto no herede de Object? Cualquier objeto tiene una referencia [[Prototipo]] que a través de la cadena de prototipos finalmente conduce a Object.prototype. –