В некоторых из моих старых кодов я использую следующее:
Object.prototype.instanceOf = function( iface )
{
return iface.prototype.isPrototypeOf( this );
};
Затем я делаю (например)
[].instanceOf( Array )
Это работает, но кажется, что следующее будет делать то же самое:
[] instanceof Array
Теперь, конечно, это только очень простой пример. Поэтому мой вопрос:
a instanceof b
ВСЕГДА совпадает с b.prototype.isPrototypeOf(a)
?
instanceof
(с конструкторами справа), не все объекты могут наследоваться отObject.prototype
.Object.create(null) instanceof Something
и({}).instanceOf({prototype:Something.prototype})
сработают (и дадутfalse
) там, где обратное не сработает. - person Bergi   schedule 20.11.2013