eagle.legs will log 2 because: 1) Property lookup starts on the eagle object itself (no legs property), 2) Then checks Bird.prototype where legs = 2 is found, 3) Since the property is found, the search stops and returns 2, 4) The later change to Animal.prototype.legs = 6 doesn't affect the lookup since Bird.prototype has its own legs property, 5) This demonstrates property shadowing in prototype chains, 6) It shows how changes to prototypes higher in the chain don't affect lookups that resolve earlier in the chain. This dynamic property resolution is fundamental to JavaScript's prototype system.