JavaScript is the language of the Web. It started as a way to manipulate a few selected types of elements
in a web page (such as images and form fields), but it has grown tremendously. In addition to client-side
browser scripting, these days you can use JavaScript to program for an increasing variety of platforms.
You can write server-side code (using .NET or Node.js), desktop applications (that work on all operating

systems) and application extensions (e.g., for Firefox or Photoshop), mobile applications, and command-
line scripts.

JavaScript is also an unusual language. It doesn’t have classes, and functions are first-class objects used
for many tasks. Initially the language was considered deficient by many developers, but in more recent
years these sentiments have changed. Interestingly, languages such as Java and PHP started adding
features such as closures and anonymous functions, which JavaScript developers have been enjoying and
taking for granted for a while.
JavaScript is dynamic enough that you can make it look and feel like another language you’re already
comfortable with. But the better approach is to embrace its differences and study its specific patterns.