JavaScript is eating the world! With it we can build web apps, desktop apps, mobile apps, games, robots, backends and more. Lots of software supports JS as an extension language for writing addons or manipulating data.

Even though it has its quirks, JavaScript is here to stay, and now is a good time to learn it! This is why we've collected for you our 15 favorite free books that will help you learn and sharpen your skills.

Basics

If you are novice programmer, or if you have never dealt with JavaScript before, these books are for you. You might also want to look at Codecademy's great JavaScript course to get a bit of a hands on experience.

A great introduction to JavaScript. It shows you how to write code in the browser console and teaches you the basic language constructs. An essential book for teaching your cat (or yourself, if a cat is reading this) how to write JavaScript.

JavaScript For Cats

This book is for beginners only as it covers the very basics of JavaScript. Its format is really simple with a short passage on every subject, followed by an example and an exercise. A nice quick resource for becoming acquainted with the language. After finishing this book, we recommend reading through Mozilla's reintroduction to JavaScript tutorial.

Learn JavaScript

This is the second edition of the great book which teaches you how to write precise, elegant and practical code. It starts off with the basics of programming but as you go deeper you'll get into topics like object-oriented JS and higher-order functions. After you've learned all that, the book will show you how to build an HTML game and some example apps with Node.js.

Eloquent JavaScript

A vast collection of examples for the most quirky parts of the language, which are the most likely cause of bugs. This book/guide explains bad practices, issues and other JS gotchas that don't work as people usually expect them to.

JavaScript Garden

JavaScript Allongé is a book about programming that covers everything from the basics, with values and expressions, to more complex concepts such as types, identity, functions, closures, scopes, and many more subjects up to working with classes and instances. This book is suitable for developers from all skill ranges, as it takes care to explain exactly how things work and what to do when you encounter a problem.

JavaScript Allongé

Advanced

Knowing how to code is one thing, but knowing how to design software is another. The books listed in this section will teach you how to write beautiful code.

An in depth look at both classical and modern design patterns that help us structure our code in the most optimal way. This book is targeted mostly at professional developers as it looks at advanced JS concepts like closures and prototypal inheritance, that require a certain level of basic prior knowledge and understanding of the language.

Learning JavaScript Design Patterns

The JavaScript community is obsessed over the cool new features that we will see in ES6, the next version of the language. This book studies closely the differences between ECMAScript 5 and 6, the new additions and how to make the best use of them. Understanding ECMAScript 6 is aimed at intermediate-to-advanced JavaScript developers.

Understanding ECMAScript 6

Code is run by machines, by written by humans. This book covers how to write simple and maintainable code. It discusses routing, views and templates, event handling, configuration, testing and more. If you wish to write modular and bug free code with your team, give this one a read.

Human JavaScript

A book targeted at people who are already familiar with other programming languages and want to learn JavaScript. If you know Java, PHP, C++, Python or any other mainstream language, consider this your quick start guide to the wonderful world of JS.

Speaking JavaScript

A book for JavaScript programmers with experience. It's full of practical design patterns and architecture that will help you write more flexible and reusable code. If you have a large JavaScript code base, there is a good chance you'll find valuable insight in this book.

Programming JavaScript Applications

JavaScript Spessore is a book focused on a technique for developing JavaScript apps using objects and metaobjects. Only experienced JavaScript devs should approach this book. It builds upon the techniques which were covered in this author's other book, JavaScript Allongé.

JavaScript Spessore

Frameworks and libraries

Writing complex applications is difficult, which is why the community has created a growing number of robust frameworks and libraries. Here are a few books that will make developing with frameworks easier.

A book that guides readers through the process of making a shoot-em-up game similar to the classic video game 1942 using Phaser. Although this workshop is totally doable with the mighty copy & paste technique, we advise people going into this book to be prepared with some knowledge of JavaScript and basic trigonometry.

HTML 5 Shoot 'em Up in an Afternoon

A great guide for creating JavaScript MVC applications using Backbone.js. Start with the fundamentals, work your way through the exercises, and learn how to build an application that is both cleanly organized and maintainable. This book is targeted at novice to intermediate developers wishing to learn how to better structure their client-side code.

Developing Backbone.js Applications

A book on Meteor.js, full of practical examples, suitable for beginners. It won't make you a full-fledged developer by the final page but you will, however, understand the core concepts that will make your future education in Meteor a lot more approachable. Readers should consider acquiring basic JavaScript and database skills before going into this book or Meteor.

Your First Meteor Application

This is our very own jQuery book! It is full of practical advice and techniques about jQuery. You will learn neat tricks, find out about awesome plugins, and discover how to use (and abuse) our favorite library to your advantage. It is remarkable how much jQuery has done to simplify client-side development.

jQuery Trickshots

It's reading time!

We hope that you enjoy our little collection of books. Did we miss your favorite? Tell us in the comment section.