Learning Advanced JavaScript
#67 "Prototyped properties affect all objects of the same constructor, simultaneously, even if they already exist"This is only true for properties created as new properties on the existing prototype (Ninja.prototype.swingSword = ...). It is not true if you assign a new object to the prototype (Ninja.prototype = { 'swingSword' : ...}).The existing objects will only see new properties added to the object which was constructor's prototype at their creation time.