JavaScript for .NET Developers
上QQ阅读APP看书,第一时间看更新

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 it provides. In this chapter, we will be focusing more on the advanced topics, which help us to use these concepts in large and complex applications.

We will also focus on scoping and hoisting variables, object-oriented programming, prototype functions, property descriptors, closures, exception handling, and so on. Some topics, such as promises, asynchronous patterns and Asynchronous JavaScript and XML (Ajax) techniques, are broader topics and are covered in other chapters.