Załóżmy, że mamy następujące:JavaScript isPrototypeOf vs użytkowania instanceof
function Super() {
// init code
}
function Sub() {
Super.call(this);
// other init code
}
Sub.prototype = new Super();
var sub = new Sub();
Następnie, w innej części naszego ocde, możemy zastosować jedną z następujących czynności, aby sprawdzić, relacji:
sub instanceof Super;
lub
Super.prototype.isPrototypeOf(sub)
Tak czy inaczej, musimy mieć zarówno obiekt (sub) i konstruktora nadrzędnego (Super). Czy istnieje jakikolwiek powód, dla którego używałbyś jednego z drugim? Czy jest jakaś inna sytuacja, w której rozróżnienie jest bardziej jasne?
Przeczytałem już uważnie 2464426, ale nie znalazłem wystarczająco dokładnej odpowiedzi.
możliwe duplikat [? Dlaczego potrzebujemy isPrototypeOf w ogóle] (http://stackoverflow.com/questions/5972991/why-do - potrzebujemy-isprototypof-at-all) – plalx
Na podstawie komentarza PO, powiedziałbym, że to pytanie jest bliższe "Dlaczego w ogóle potrzebujemy' instanceof'? " ale zgadzam się, że prawdopodobnie jest wystarczająco blisko. – apsillers