A curated collection of awesome & free JavaScript books to help you learn the JavaScript programming language.
If you know of any other free JavaScript books that you think should be on this list, please let me know in the comments section and I will get them added.
Marijn Haverbeke
Eloquent JavaScript intends to make you familiar enough with the JavaScript language to be able to make a computer do what you want. Besides explaining JavaScript, the book also will introduce the basic principles of programming.
Dr. Axel Rauschmayer
Exploring ES6 is intended for people already familiar with JavaScript. It covers ECMAScript 6 in depth, but is structured so that you can also quickly get an overview if you want to. It not only tells you how ES6 works, it also tells you why it works the way it does.
The Google JavaScript Style Guide holds the style guidelines that Google uses internally for their JavaScript code.
Henrik Joreteg
Human JavaScript is a book about a specific set of tools, patterns, and approaches that the author feels are optimized for people. These approaches enable the team at &yet, a small consulting and product company, to quickly build and deliver high-quality JavaScript applications for humans.
Reginald Braithwaite
JavaScript Allongé is a first and foremost, a book about programming with functions. It’s written in JavaScript, because JavaScript hits the perfect sweet spot of being both widely used, and of having proper first-class functions with lexical scope. It teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down.
Cody Lindley
An accurate JavaScript worldview through an examination of native JavaScript objects and supporting nuances: complex values, primitive values, scope, inheritance, the head object, etc.
Max Ogden
JavaScript for Cats is an introduction to JavaScript for new programmers.
Nicholas Johnson
JavaScript plus a dash of jQuery covers the very basics of JavaScript from the ground up. These are the fundamentals that you will need to know to do the fancy schmancy stuff that you’re probably quite keen to get started on.
Ivo Wetzel, Zhang Yi Jiang, Tim Ruffles
JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavors into the depths of the language. It does not aim to teach you JavaScript. Former knowledge of the language is strongly recommended in order to understand the topics covered in this guide.
Mark Daggett
This is not an entire book, but a single chapter from the book Expert JavaScript. The bulk of this chapter covers the ways in which you can interact with the world around you using machines that listen to JavaScript.
Shi Chuan
_JavaScript Patterns Collection _is a JavaScript pattern and antipattern collection that covers function patterns, jQuery patterns, jQuery plugin patterns, design patterns, general patterns, literals and constructor patterns, object creation patterns, code reuse patterns, DOM and browser patterns.
Reginald Braithwaite
In JavaScript Spessore, you will learn to implement several different kinds of object-oriented programming language semantics, in JavaScript. It is written for the reader who has read JavaScript Allongé or has equivalent experience with JavaScript, especially as it pertains to functions, closures, and prototypes.
William Oliveira and Allan Esquina
JavaScript: The Right Way is an easy-to-read, quick reference for JavaScript best practices and accepted coding standards. It is intended to introduce new developers to JavaScript and help experienced developers learn more about its best practices. Despite the name, this guide doesn’t necessarily mean “the only way” to do JavaScript.
Addy Osmani
Learning JavaScript Design Patterns explores applying both classical and modern design patterns to the JavaScript programming language. It is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language. Some of the concepts covered (closures, prototypal inheritance) will assume a level of basic prior knowledge and understanding.
Noel Rappin
Master Space and Time With JavaScript is a 4 book series that will help you come to to grips with modern JavaScript, including the JavaScript object model, testing, Backbone, and Ember. However, only Book 1: The Basics is available for free. The other 3 books need to be purchased.
The JavaScript Guide shows you how to use JavaScript and gives an overview of the language.
Addy Osmani
Patterns For Large-Scale JavaScript Application Architecture is based on a talk the author presented at LondonJS. It discusses an effective set of patterns for large-scale JavaScript application architecture.
Eric Elliott
In Programming JavaScript Applications, author Eric Elliott shows you how to add client- and server-side features to a large JavaScript application without negatively affecting the rest of your code.
Dr. Axel Rauschmayer
Speaking JavaScript‘s target audience is programmers who want to learn JavaScript quickly and properly, and JavaScript programmers who want to deepen their skills and/or look up specific topics. It has been written for programmers, by a programmer. You should already know object-oriented programming via a mainstream programming language such as Java, PHP, C++, Python, Ruby, Objective-C, C#, or Perl.
Ilya Kantor
HTML5 is great. jQuery is cool. Node.JS is awesome. Base them on the solid, powerful basement of pure JavaScript and you can rock the web!
Nicholas C. Zakas
In The Problem with Native JavaScript APIs, Nicholas Zakas—consultant and former front-end tech leader at Yahoo!—provides a case study to show how different browsers can develop native APIs for the same specification and still end up with different interpretations. You’ll discover how these APIs can tie your code to specific browsers, forcing you to upgrade application logic whenever new browsers and new browser versions are released.
Nicholas C. Zakas
Understanding ECMAScript 6 covers the changes brought about by the most recent major update to the JavaScript programming language: ECMAScript 6.
Kyle Simpson
You Don’t Know JS is a series of books diving deep into the core mechanisms of the JavaScript language.