Object creation is fundamental to all object-oriented languages, but in JavaScript it is left to the programmer to work out how best to do it, and often the practice that you encounter isn't the best ...