Eloquent Javascript

A Modern Introduction to Programming
By treating javascript as a language in its own right, the author has produced a solid guide to learning a language that you might think you already knew.
The thing that sets this book apart from a lot of other JavaScript books is that it treats Javascript as a language on its own, independent from its most common usage in web browsers. While some readers might wonder if that’s a good idea, being that that’s how most people intend to use it, I think it’s a fresh approach that has a significant benefit. By avoiding teaching the reader both a new language and learning the complexities of the DOM (and the subtle differences found in each browser and version) readers can instead focus on a sometimes misunderstood language.
Due partly to its early uses as an enabler of endless pop-ups and other Internet high jinks, JavaScript (or more formally ECMAScript) continues to be seen in some quarters as a simple scripting language rather than a full-featured language like Java or C#. While “copy-and-paste programming” is still practised by some web developers, to take advantage of modern libraries like jQuery, you have to understand the language.

The book’s first three chapters cover the very basics: variables, control flow and functions and error-handling. These chapters are essential because JavaScript has its way of doing things. Many beginners assume that, because the language looks a bit like Java, it will behave the same way. Fact is JavaScript borrows little more than the syntax from C/Java instead its major ideas come from less-known languages like Self and Scheme.

See also  Code Craft

The next set of chapters look at functional and object-orientated programming. Object-orientated programming is another area where JavaScript differs from Java’s or PHP’s implementation, so it is important to understand the different approaches.

Web development is not entirely left out. The last three chapters cover JavaScript in the browser.

Overall this is a book that teaches the fundamentals of a language that is a familiar sight to many web developers but maybe not understood well enough. By treating JavaScript as a language in its own right, the author has produced a solid guide to learning a language, you might think you already knew.

Link: http://eloquentjavascript.net/