Rozważmy taki obiekt z łańcucha prototypów:instanceof odpowiednik dla Object.create i prototypowych łańcuchów
var A = {};
var B = Object.create(A);
var C = Object.create(B);
Jak sprawdzić, czy w czasie wykonywania C ma w swoim łańcuchu prototypów?
instanceof
nie pasuje, ponieważ jest przeznaczony do pracy z funkcjami konstruktora, których tutaj nie używam.
+1 Proste rozwiązanie. Chociaż twoje przykłady są całkowicie poprawne, byłoby to 'Array.prototype.isPrototypeOf (C)', aby sprawdzić, czy 'C' jest tablicą (Ostatni twój przykład był trochę niejednoznaczny - użycie' isPrototypeOf' na funkcji zwykle nie jest czego chcesz). – pimvdb
Masz całkowitą rację, nie chciałem stracić zbyt wiele czasu, odkąd odpowiedź została już podana, więc nie myślałem zbyt wiele o przykładach, moim celem było tylko pokazanie dostępnej metody .. nadal będę poprawiał przykład podany z twoją odpowiedzią, ponieważ jak powiedziałeś i zgadzam się, mój ostatni przykład jest niejednoznaczny, dzięki za wypowiedź =) – Couto
Po prostu szybkie pytanie: jak to możliwe, że obiekt nie dziedziczy z Object? Każdy obiekt ma odniesienie [[Prototype]], które poprzez łańcuch prototypów ostatecznie prowadzi do Object.prototype. –