JavaScript is a great language and with the advent of Harmony (ES6-7 or ES2015) becomes outstanding one. It’s no more just a scripting language. JavaScript advances also in server scripting, desktop applications, native mobile programming, game development, DB querying, hardware control, and OS automating. It’s trendy. Yet, it has its “bad parts”, quirks and traps. One needs to know them to really enjoy the flexibility, expressiveness and the true power of the language. I’m happy about the opportunity to impart the technology insights, practices, tricks and recipes. I even hope to kindle your passion for the language.
So what is that book about? It starts from JavaScript core including such cool things like declaring types approaches, syntactic sugar, collection conversion and `magic` properties and methods. Then we dive in modular programming (AMD, CommonJS, ES6 modules and module transpiling). We get quick overview on getting the best performance on DOM operations. We examine most exiting features of HTML5 API (Web Storage, IndexDB, FileSystem, Web Components, SSE, Web-Sockets) . We consider JavaScript Event Loop and quirks of asynchronous programming. We look into principles of large-scale application architecture (MVC, MVP, MVVM, app examples with Backbone, Angular and React). We get brief walkthroughs on writing command-line script in JavaScript, building a web server with Node.js, making a desktop app and a native mobile application. Lastly we examine capacities of DevTools and less-known features of JavaScript Console API.