Object-oriented programming on JavaScript