Chapter 2. Advanced JavaScript Concepts
JavaScript, when initially designed, was not expected to become the core programming language for Web development. It was normally used to perform some basic client-side operations that require some manipulation of the Document Object Model (DOM) elements. Later on, with the recent pace in Web development, things have pretty much changed. Now, many applications are purely using JavaScript and HTML to handle complex situations. From time to time, with different versions, different features were added and, as per the specification of ECMAScript 6, you can now have classes, you can do inheritance as you do with any other programming language, such as C# or Java. Closures, prototype functions, property descriptors, and many more that we will discuss in this chapter make it more powerful and robust.
In the previous chapter, we learned the core concepts and some basic fundamentals of writing programs in JavaScript and what features as a language...