Awesome JavaScript Learning

An awesome list limited to the best JavaScript learning resources
This list is mainly about JavaScript - the language. Not about APIs, tooling, frameworks or other aspects of todays JavaScript ecosystem.
Please read the contribution guidelines before contributing.
Contents
- JavaScript References
- Articles & Tutorials
- Free eBooks
- Books
- Blogs
- Videos
- Interactive learning
- ES6 and above
- DOM related
- Node.js
- Related
JavaScript References
- MDN - Simply the most extensive and up to date language reference.
- DevDocs - Search MDN comfortably. Even offline.
- JavaScript Notes & Reference - Detailed reference with code examples. Divided into topics covering basic and advanced subjects.
- Simplified JavaScript Jargon - Glossary which explains all the buzzwords from the JavaScript eco system.
- Functional Programming Jargon - Explains terms used in functional programming in the JavaScript context.
- ECMAScript® Language Specification - The standard JavaScript is based on. Only for very advanced learners.
Articles & Tutorials
Overall Topics
- A re-introduction to JavaScript* - Compact introduction covering types, variables, operators, control structures, functions and closures.
- JavaScript.info - A modern tutorial from the basics to advanced topics with simple, but detailed explanations.
- Glossary of Modern JavaScript Concepts: Part 1 - Learn the fundamentals of functional programming, reactive programming, and functional reactive programming in JavaScript.
- Glossary of Modern JavaScript Concepts: Part 2 - Explains concepts like scope and closures, data flow, change detection, components, compilation, tree shaking.
- Robust Client-Side JavaScript - Guide focused on writing robust code by describing possible failures and explaining how to prevent them.
*MDN offers a lot of other guides for every level of knowledge to dig deeper.
Single Topics
- JavaScript Closures Demystified - Covering closures. From basics to use cases. Has useful comments.
- Understanding Hoisting - Detailed explanation of the concept of hoisting in JavaScript.
- Array operations - Covering the usefulness of Array's map, reduce, and filter methods.
- Promises - Learning promises step by step.
- Async/Await - Tutorial showing the advantages of consuming Promises via async functions.
- Pure functions - Answers the question »What is a Pure Function?« epicly.
- Using Fetch - Describes thoroughly how to use the Fetch API to receive and send data.
- Chrome DevTools - Everything you need to know about the debugging tools built into Google Chrome.
Free eBooks
- Eloquent JavaScript - Covering the language and runtime specifics.
- You Don't Know JS (book series) - Series of books diving deep into language.
- Speaking JavaScript - In-depth guide beginning with the basics.
- JavaScript Design Patterns - Classical and JavaScript specific design patterns.
- Mostly Adequate Guide to Functional Programming - Excellent primer to functional programming using JavaScript.
- Functional-Light JavaScript - This book explores the core principles of functional programming (FP) as they are applied to JavaScript.