Showing posts from May, 2013

Performance comparison of JavaScript class inheritance patterns

"JavaScript is a beautiful and expressive language." Everybody says it, and it's true! The downside, of course, of such a flexible language is that there are 1001 ways to do everything, and not all ways are created equal. The performance (or lack thereof) of different patterns can be surprising, as well as their implementation quirks. JavaScript's various patterns for object-oriented-programming comprise an especially vibrant topic. Many JavaScript developers have their own Best Way to implement JavaScript classes and inheritance. Many others will simply use existing libraries exist to facilitate the task. I've looked at a lot of different patterns, analyzed their performance , took into account their convenience, and came up with what I think is the simplest, most practical and most performant approach. In other words, my Best Way. ;-) In analyzing performance, I'll be referencing this jsperf benchmark a number of times. At first glance it's a l