a new Relator object plus unshared private variables
This is a Robert Nyman 's post dedicated reply, about JavaScript inheritance and alternatives and private variables . First of all, I would like to say thanks to Robert for both interesting articles He is writing about JS inheritance, and a link to a personal comment which aim was to bring there my "old" documentation about classical JavaScript inheritance and usage of prototype, closures, and public, privileged, or private, scope when we create a constructor. About Last Rob's post talk about private variables, describing them as shared, if present outside the constructor, and valid only for singleton instances. This is true, and could cause a lot of headache if we are not truly understanding closures and prototype shared methods behaviour, but there is a way to use this peculiarity about shared private variables to create dedicated private variables. Before I will write about it, let's look into a generic shared private variable example: Click = function(){ ...