The aim of this book is to introduce you to programming using the JavaScript lan-
guage, eventually helping you to develop into a JavaScript ninja.

This is an exciting time to be learning JavaScript, having finally outgrown its early
reputation as a basic scripting language used to produce cringeworthy effects on
web pages. Today, JavaScript is used to produce professional and powerful web
applications. Modern browsers are now capable of running JavaScript code at
lightning speed, and Node.js has helped to revolutionize it by facilitating its use in

other environments. This has led to a much more professional and structured ap-
proach to building JavaScript applications, where it is now considered a full-fledged

programming language. In short, JavaScript has grown up.
JavaScript has a number of cool features that make it stand out from other languages,
such as callbacks, first-class functions, prototypal inheritance, and closures. Its
event-based model also makes it a very good choice for modern web application
development. JavaScript’s ace in the pack, though, is something of which every
language is envious―its ubiquity. JavaScript is available almost everywhere; anybody

who has access to a browser can use it. And this is increasing every year as it be-
comes more readily available outside the browser environment. This translates into

JavaScript’s reach being immense: it is already the most popular language on Git-

I can onlysee JavaScript growing even more popular in the future as itbecomes
the language of choice for the Internet of Things2—helping to control household
appliances, even program robots.