Save yourself from 1000 hours of trial and error!
Stop feeling overwhelmed!
This is literally the best series of books to learn JavaScript.
A series of 5 books that will guide you to JavaScript mastery.
These books are in progress, as follows:
- Book 1, The Basics, 95% complete (672 pages)
- Book 2, Built-in Objects, 70% complete (about 280 pages)
- Book 3, Useful Snippets, 80% complete (385 pages, 132 recipes, plus a listing of 201 recipes from book 1, and 92 recipes from book 2)
- Book 4, Mini Apps, 40% complete (currently at 164 pages, with 15 mini apps completed)
- Book 5, Advanced JavaScript 15% complete (currently at 123 pages, several chapters are in progress)
Table of Contents
Book 1 The Basics
Chapter 0: Introduction
Chapter 1: The Absolute Basics
Chapter 2: The Quick Prototype App
Chapter 3: Understanding Events in JavaScript
Chapter 4: Improving the UX on Quick Prototyper
Chapter 5: Introducing jQuery
Chapter 6: The Anatomy of functions in ES6
Chapter 7: Learning JavaScript basics by coding tiny apps
Chapter 8: Data Types and Constructors
Chapter 9: JavaScript and the Browser
Chapter 10: JavaScript is Synchronous, Browser is Asynchronous
Chapter 11: Basic JavaScript Caveats
Chapter 12: The Anatomy of a JavaScript Function: all the different ways of defining functions in JS
Chapter 13: Understanding arguments and the spread operator
Chapter 14: JavaScript Arrays in Depth
Chapter 15: Sets and Maps in JavaScript
Chapter 16: JavaScript Objects in Depth
Chapter 17: Working with Objects, Arrays, and JSON
Chapter 18: Object-Oriented Programming in JavaScript
Chapter 19: Errors, debugging, and strict mode
Chapter 20: Modular JavaScript
Chapter 21: JavaScript Object Notation (JSON)
Chapter 22: Asynchronous JavaScript
Book 2 Built-in Objects
Chapter 0: Introduction
Chapter 1: An overview of standard built-in objects
Chapter 2: The Object object
Chapter 3: The Function object
Chapter 4: The Boolean object
Chapter 5: The Symbol object
Chapter 6: Built-in collection objects: Array
Chapter 7: Built-in collection objects: typed array objects
Chapter 8: Built-in collection objects: maps, sets, weak maps, weak sets, and arguments
Chapter 9: Error objects
Chapter 10: Async-related and JSON-related objects
Chapter 11: String, number, date, and internationalization objects
Chapter 12: Regular expressions in JavaScript
Chapter 13: Reflection and proxy objects (metaprogramming in JS)
Chapter 14: Web assembly objects
Chapter 15: Revision
Book 3 Useful Snippets
Chapter 0: Introduction
Chapter 1: Working with randomness
Chapter 2: Working with numbers
Chapter 3: Working with strings
Chapter 4: DOM manipulation
Chapter 5: Validating stuff
Chapter 6: Date and time exercises
Chapter 7: Working with functions and classes
Chapter 8: Working with arrays
Chapter 9: Working with objects
Chapter 10: JSON and async-related exercises
Chapter 11: Loops
Chapter 12: XHR and AJAX
Chapter 13: Events
Chapter 14: Non-assorted exercises
Appendix A: Snippets from Book 1
Appendix B: Snippets from Book 2
Book 4 Mini Apps
Chapter 1: Dynamically update a paragraph
Chapter 2: Build a multiplication table
Chapter 3: Build a Style Dynamizer
Chapter 4: Build a modal in vanilla JS
Chapter 5: Build a full-page navigation menu
Chapter 6: Build a slider in vanilla JS
Chapter 7: Build a blog post image maker
Chapter 8: Simple stopwatch
Chapter 9: Simple timer
Chapter 10: Simplest possible lightbox
Chapter 11: An accordion in JS
Chapter 12: A dropdown button in JS
Chapter 13: A tabbed navigation in JS
Chapter 14: A popover in JS
Chapter 15: Sliding nav
Chapter 16: Tag input
Chapter 17: Multi-image slider
Chapter 18: Zoom-in image preview
Chapter 19: Custom select
Chapter 22: Double-sliding menu
Chapter 21: Header change on scroll
Book 5 Advanced JavaScript
Chapter 0: Introduction
Chapter 1: Browser APIs (aka Web APIs)
Chapter 2: Important browser APIs in more depth
Chapter 3: The DOM API in depth
Chapter 4: Advanced techniques (memoization, debouncing, throtlling, recursion, etc.)
Chapter 5: Webpack quick start
Chapter 6: Memory, memory management, and garbage collection in JavaScript
Chapter 7: Advanced JSON
Chapter 8: Understanding Node.js
Chapter 9: Test-Driven Development
Chapter 10: RxJS and observables
Chapter 11: Functional programming in JavaScript
Chapter 12: JavaScript Security
Chapter 13: Design Patterns in JavaScript
Chapter 14: Data Structures and Algorithms in JavaScript
Chapter 15: Clean Code in JavaScript
Chapter 17: Progressive Web Apps
Chapter 16: Workers
Chapter 18: Improving our workflows
Chapter 19: Chrome Dev Tools