Если утрировать instanceof просто проходит по цепочке прототипов левого аргумента и проверяет на строгое равенство(===) с прототипом правого аргумента.
И это логично в рамках объектного наследования: c создан классом C - наследником от класса A, класс C связан с классом A цепочкой прототипов, потому c instanceof A === true, a же создан классом A - родителем по отношению C, класс A ничего не знает о классе C, он никак с ним не связан, и естественно a instanceof C === false.
А на "доп. вопрос" ответ: хром не угадал. Можешь запостить им баг.)
__________________
29375, 35
Последний раз редактировалось Aetae, 29.08.2018 в 02:30.
|