Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.
If you're an aspiring web developer then you'll need to learn JavaScript. It's a staple for frontend work and it's the fastest growing language powering.
This is an up-to-date list of recommended books for learning JavaScript.
Beginner

JavaScript for Kids is a lighthearted introduction that teaches programming essentials through patient, step-by-step examples paired with funny illustrations. You’ll begin with the basics, like working with strings, arrays, and loops, and then move on to more advanced topics, like building interactivity with jQuery and drawing graphics with Canvas.

Prepare to open your mind as you learn key topics including:
- The inner details of JavaScript
- How JavaScript works with the browser
- The secrets of JavaScript types
- Using arrays
- The power of functions
- How to work with objects
- Making use of prototypes
- Understanding closures
- Writing and testing applications
This full-color book will show you how to make your websites more interactive and your interfaces more interesting and intuitive.
THIS BOOK COVERS:
- Basic programming concepts - assuming no prior knowledge of programming beyond an ability to create a web page using HTML & CSS
- Core elements of the JavaScript language - so you can learn how to write your own scripts from scratch
- jQuery - which will allow you to simplify the process of writing scripts (this is introduced half-way through the book once you have a solid understanding of JavaScript)
- How to recreate techniques you will have seen on other web sites such as sliders, content filters, form validation, updating content using Ajax, and much more (these examples demonstrate writing your own scripts from scratch and how the theory you have learned is put into practice).

Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include:
- JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly.
- JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in.
- Background: Understand JavaScript’s history and its relationship with other programming languages.
- Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources.
Intermediate/Advanced

As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs.

The series’ first book, Up & Going, provides the necessary background for those of you with limited programming experience. By learning the basic building blocks of programming, as well as JavaScript’s core mechanisms, you’ll be prepared to dive into the other, more in-depth books in the series—and be well on your way toward true JavaScript.

No matter how long you’ve been writing JavaScript code, Effective JavaScript will help deepen your understanding of this powerful language, so you can build more predictable, reliable, and maintainable programs.

If you're serious about web development, it's not enough to be a decent JavaScript coder. You need to be ninja-stealthy, efficient, and ready for anything. This book shows you how.

The Principles of Object-Oriented JavaScript will leave even experienced developers with a deeper understanding of JavaScript. Unlock the secrets behind how objects work in JavaScript so you can write clearer, more flexible, and more efficient code.

A book that covers modern JavaScript with test-driven exercises and quizzes. Half the book is available free online!