| Сообщение от 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 присвоен прототипом объект
 а.