JavaScript is changing at a very rapid pace right now. If you’re searching for JavaScript books, you’re not alone. If you want to deepen your skills, there are plenty of excellent JavaScript coding books available for all levels. The term “Vanilla JavaScript” has been very popular as of late and will likely gain more attention in the coming months. I can relate to front-end being a miserable journey, but JavaScript has been evolving at a very rapid pace.
Being such a popular programming language, it requires the community to pay special attention to how others are being taught to develop, and to this day, one of the most comprehensive introduction (quality) guides to JavaScript is the Idiomatic.js page hosted on GitHub. Check it out!
Javascript for Beginners

If you’re truly serious about learning JavaScript, may I recommend you take a look at this online course first? Why spend countless hours reading a book when you could team up with thousands (literally) of other students who’re learning to program in JS, just like you are?
This course that you see above has helped me, and many of my friends, to get our feet wet with the language, and the amount of support you get in the hidden forum (you get access to it once you signup for the course) is incredible, people (and the instructor) are being really helpful and understanding.
The course requires a bit of HTML understanding, but nothing overly major, literally, a kid could navigate this course and succeed! But if you’re still looking for free JavaScript books, keep reading.
JavaScript Essentials

This book is designed to provide a detailed and comprehensive, yet easy-to-follow guide to developing powerful, dynamic web pages using JavaScript. It could be said that the object of JavaScript Essentials is to provide you with everything you need to use JavaScript, and nothing that you don’t.
The author says that this book is perfect for those transitioning from a static development environment to a more real-time approach, though keep in mind that it’s perfectly fine to study it if you’re totally new to the language.
Eloquent JavaScript

This is a book about getting computers to do what you want them to do. Computers are about as common as screwdrivers today, but contain much more hidden complexity and thus are harder to operate and understand. To many, they remain alien, slightly threatening things.
JavaScript Enlightenment

Unfortunately, this book has been updated since the original publication, and the current free copy does not reflect the latest release; however, because of the technicality and depth of its content, I feel it should still be kept as a reference for future work.
It’s not about JavaScript as a programming language; rather, the author focuses solely on native JavaScript objects and the side effects they entail.
JavaScript Garden

JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It offers advice on avoiding common mistakes, subtle bugs, performance issues, and bad practices that non-expert JavaScript programmers may encounter as they venture into the depths of the language.
JavaScript: The Right Way

It’s a learning resource within a learning resource, epic! Yeah, this page is packed full of information, examples, tutorials, reading materials, and much more. All the good stuff to help you accelerate your learning progress, the page was built to provide beginner developers with a one-stop resource for learning JS wherever they are.
Notable listings include tools and frameworks for debugging and testing, along with links to popular JavaScript-based game engines. Have you been thinking about building a gaming empire?
JavaScript Guide by MDN

Mozilla Developer Network is one of the most active JavaScript communities in the world. Quite often, the latest news, suggestions, and discoveries happen right there, and the guys over at MDN always try to keep it up to date and fresh. You can easily learn the language through this portal, though it might take longer than reading a plain book.
JavaScript by DevDocs

Good documentation can be like a good, which is why I felt that I needed to include this DevDocs page in the list. It’s a custom-built page that’s very easy on the eyes (design-wise) and also provides extensive explanations and examples for every JavaScript function it records.
Understanding ECMAScript 6

ECMAScript 6 is approaching a release date, some say we should expect it somewhere mid-Summer 2015; whatever the release date, it’s already making itself known around the web developer and web designer communities. This book will help you transfer from ECMAScript 5 to ECMAScript 6 without any hesitation.
The book is hardly complete, but at least we’ve got someone taking care of the transition, and we can only help by showing support! Definitely keep it in your bookmarks, and as the release date approaches, start reading up on what’s new and exciting.
CodeCombat

Right, it’s not entirely a book, is it? But, I’m assuming that you’re looking for some reliable options to learn the damn language, so I felt I needed to include this, in case you didn’t know it exists. CodeCombat is a game designed to teach people how to code in JavaScript.
You play a game and perform actions based on the code that you’re writing. Everything is explained on every step of the way, and you get plenty of downtime to observe, play around, and understand the code that you’re writing. It’s like a visual documentation of the JS language. Try it out!
Oh My JS: The Best JavaScript Articles

I guess I must confess that there isn’t a really large variety of free books available for JavaScript, majority of the content on this post is somehow related to documentation or online content, but I’ll try and find better resources for when it comes to learning JavaScript through other means, like interactive coding websites.
Right, so this ‘book’ is a collection of some of the best JavaScript content online, instead of you going and researching all the goods of JS yourself, you can just open up this book and see what’s the crack for yourself. I hope it helps in some way.