Developers of large JavaScript codebases have come to realize that class-based OO is exactly what they need. Prototype OO sounds interesting in theory, but in practice it tends to not be what&#x27;s needed. Projects that use it end up trying to poorly imitate class OO. This wouldn&#x27;t necessarily be a problem, except it isn&#x27;t done consistently. There are multiple approaches, some of them which don&#x27;t mesh well with others. Class-based OO, on the other hand, tends to be much more consistent and well-defined. This consistency improves developer productivity, it keeps the code cleaner, and it allows for greater code reuse between projects. Prototype OO hasn&#x27;t proven itself in practice, while class OO has again and again.