I prefer to use OOP in large scale projects like the one I’m working on right now. I need to create several classes in JavaScript but, if I’m not mistaken, there are at least a couple of ways to go about doing that. What would be the syntax and why would it be done in that way?
I would like to avoid using third-party libraries – at least at first.
Looking for other answers, I found the article Object-Oriented Programming with JavaScript, Part I: Inheritance – Doc JavaScript that discusses object-oriented programming in JavaScript. Is there a better way to do inheritance?
Here’s the way to do it without using any external libraries:
Now the real answer is a whole lot more complex than that. For instance, there is no such thing as classes in JavaScript. JavaScript uses a
prototype-based inheritance scheme.In addition, there are numerous popular JavaScript libraries that have their own style of approximating class-like functionality in JavaScript. You’ll want to check out at least Prototype and jQuery.
Deciding which of these is the ‘best’ is a great way to start a holy war on Stack Overflow. If you’re embarking on a larger JavaScript-heavy project, it’s definitely worth learning a popular library and doing it their way. I’m a Prototype guy, but Stack Overflow seems to lean towards jQuery.
As far as there being only ‘one way to do it’, without any dependencies on external libraries, the way I wrote is pretty much it.