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.
JavaScript References
- MDN – Simply the best language reference.
- DevDocs – Search MDN comfortably. Even offline.
- 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.
- Modern JavaScript Cheatsheet – Helps developers with basic knowledge to get familiar with modern codebases.
- 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.
Books
Thin books which you can get through in a few days.
- JavaScript: The Good Parts – Classic material which still has relevance.
- The Principles of Object-Oriented JavaScript – Comprehensible, especially interesting for people with a class based OOP background.
- JavaScript Enlightenment – Will solidify your understanding of the language.
- Testing JavaScript Applications – A complete guide for JavaScript testing tools and techniques.
- The Joy of JavaScript – A book covering advanced language features like Iterators and Generators.
Blogs
- ②ality – Language features and APIs well explained by author and trainer Dr. Axel Rauschmayer.
- Pony Foo – Detailed and high quality posts from Nicolás Bevacqua all related to JavaScript.
Videos
- == ? === ??? …#@^% – Basic talk about type coercion and strict type comparison.
- FunFunFunction – Educational plus entertaining YouTube show covering language features as well as architectural topics amongst others.
- What the heck is the event loop anyway? – Awesome talk about the way JavaScript works, and a tool for exploring the callstack.
- Become a JavaScript Console Power-User – Introduction to the browsers JavaScript console.
- Debugging The Web – Learn state of the art in debugging using Chrome dev tools.
- JavaScript 30 – 30 video tutorials to build neat little things with just plain JavaScript.
- Promises Are So Passé – Talk that shows where async goes next, why it matters, and what you need to do to put it into practice today.
- Learning Functional Programming with JavaScript – Talk containing the best explanation of map/reduce.
- Understand JavaScript’s this Keyword in Depth – 18 minutes divided into 8 short videos to wrap you head around
this
.
Interactive learning
- Codeacademy – Fundamentals of JavaScript.
- Udacity JavaScript Basics – They also offer more advanced courses.
- Code School – From Basics to Best Practices. Different courses related to JavaScript.
- Functional programming – Learn basic principles of functional programming in an interactive way by using map, filter, concatAll, reduce and zip.
- Learn JavaScript Online – Interactive JavaScript course with spaced repetiton flashcards app.
- Exercism JavaScript Track – Exercism provides individual practice and mentor-based learning for free.
ES6 and above
- Exploring ES6 – Good introduction with in-depth chapters.
- Exploring ES2016 and ES2017 – Follow up of »Exploring ES6«.
- Setting up ES6 – Explains how to set up ES6 projects that are transpiled to ES5.
- ES6 Overview – Bullet point overview including in-depth articles.
- ES6 Katas – Learn ES6 by solving unit test online.
- Practical ES6 – eBook with practical examples and advices.
- 30 seconds of code – Useful ES6 snippets that you can understand in 30 seconds or less.
- What’s the difference between JavaScript and ECMAScript? – Clears the confusion about ES6 and JavaScript.
DOM related
- DOM Enlightenment – A whole book about how to access an manipulate the DOM without a library.
- You Might Not Need jQuery – Get plain JavaScript code snippets (and see their jQuery equivalents).
- Traversing the DOM with JavaScript – A tutorial featuring native methods to traverse the DOM.
Node.js
- The Art of Node – Introductory tutorial covering the basics.
- NodeSchool – Interactive self guided workshops you can also do on your own.
- Node Patterns – Short books about code and networking patterns related to Node.js.
- Learn Node – A premium training course to learn to build apps with Node.js, Express, MongoDB.
The Awesome JavaScript Learning is a github repository by Micromata GmbH
Leave a Reply