consideri un oggetto con una catena di prototipi:instanceof equivalente per catene Object.create e prototipo
var A = {};
var B = Object.create(A);
var C = Object.create(B);
Come controllare in runtime se C ha A nella sua catena di prototipi?
instanceof
non si adatta in quanto è progettato per funzionare con le funzioni di costruzione, che non sto usando qui.
+1 Soluzione semplice. Sebbene i tuoi esempi siano completamente corretti, sarebbe 'Array.prototype.isPrototypeOf (C)' per verificare se 'C' è un array (ho trovato il tuo ultimo esempio un po 'ambiguo - usare' isPrototypeOf' su una funzione di solito non è ciò che vuoi). – pimvdb
Hai perfettamente ragione, non volevo perdere troppo tempo poiché una risposta era già stata data in quel momento, quindi non ho pensato troppo agli esempi, il mio obiettivo era solo quello di mostrare il metodo disponibile .. comunque correggerò l'esempio dato con la tua risposta, poiché come hai detto e sono d'accordo, il mio ultimo esempio è ambiguo, grazie per l'avviso =) – Couto
Solo una domanda veloce: come è possibile che l'oggetto non erediti da Object? Qualsiasi oggetto ha un riferimento [[Prototipo]] che attraverso una catena di prototipi porta infine a Object.prototype. –