Сообщение от Aetae
|
Если утрировать instanceof просто проходит по цепочке прототипов левого аргумента и проверяет на строгое равенство(===) с прототипом правого аргумента.
|
Спасибо, теперь понятно. Но остался вопрос. Почему хром в свойстве
__proto__ в цепочке прототипов объекта
с везде пишет
A, а не
B, затем
A? Т.е. почему так
C {c: "c"}
....c: "c"
....__proto__:
A
........b: "b"
........__proto__:
A
............a: "a"
............__proto__:
................constructor: f A()
................__proto__: Object
а не так
C {c: "c"}
....c: "c"
....__proto__:
B
........b: "b"
........__proto__:
A
............a: "a"
............__proto__:
................constructor: f A()
................__proto__: Object
Ведь объекту
С присвоен прототипом объект
b, и только объекту
B присвоен прототипом объект
а.