Because the call to Fruit.call( this );
in the Bannana constructor set the object property type to fruit (i.e. it was set in the object myBanana in your code).
It would only fall back to a property in the prototype if the property type were not present in the object myBanana.
Try appending the following to your code and you'll see that flower
will be the output:
delete myBanana.type
console.log(myBanana.type);
This happens because the myBanana object won't have the type property itself anymore, so the look up for the type property will walk up the prototype chain.
Check this answer to see how this mechanism works in more detail:
https://stackoverflow.com/a/572996/689788