После своей последней имплементации объектов JS, на самом JS, вдруг внезапно осенило. А ведь «родитель» объекта, мля, есть ни что иное, как «ссылка» этого же ребенка на своего родителя. Т.е. по сути, ничем не отличается от обычного свойства, этого самого ребенка.
В следующем коде, все 4 «вызова» объекта d семантически эквивалентны, а последние 2 - полностью эквивалентны.
a={one: 1}
b={two: 2}
c={three: 3}
d={proto1: a, proto2: b, __proto__: c}
d.proto1.one
d.proto2.two
d.__proto__.three
d.three
1
2
3
3