While this list is primarily focused on learning React and Redux, and generally assumes that you understand the older Javascript ES5 standard, there's many great resources out there for learning Javascript. This page points to some similar resource lists that are focused on Javascript, as well as some additional useful articles and resources.
-
Mozilla Developer Network: Javascript
https://developer.mozilla.org/en-US/docs/Web/JavaScript
https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Mozilla maintains a fantastic set of developer resources for Web technologies, including a comprehensive reference to the Javascript language and a number of associated tutorials. Their "reintroduction to Javascript" article is a great overview of what the language looks like. -
Modern JS Cheatsheet
https://github.com/mbeaudru/modern-js-cheatsheet
An extensive list of explanations for syntax and concepts used in modern JS applications -
Eric Elliott's Javascript Resource Lists
https://medium.com/javascript-scene/10-priceless-resources-for-javascript-learners-bbf2f7d7f84e
https://gist.github.com/ericelliott/d576f72441fc1b27dace/0cee592f8f8b7eae39c4b3851ae92b00463b67b9
Eric Elliott is a strong proponent of Javascript, has written numerous articles about learning and understanding Javascript, and assembled some very useful lists of numerous Javascript resources. (Note that he is very strongly opinionated in his own articles, particularly about certain code patterns that he feels everyone should follow, but overall his advice and information is pretty solid.) -
Wes Bos's Javascript Resource List
http://wesbos.com/learn-javascript
Speaker and teacher Wes Bos gives links to a number of resources for learning Javascript -
Learning Javascript and the Danger of Spreading Yourself Too Thin
https://medium.com/@kevininaniche/learning-javascript-and-the-danger-of-spreading-yourself-too-thin-4617384e7ea4
Tips on how to approach learning Javascript, and some additional resources. -
Reddit /r/LearnJavascript
https://www.reddit.com/r/LearnJavascript
A Reddit community for learning Javascript -
Roadmap for Learning the Javascript Language
http://bytearcher.com/articles/roadmap-for-learning-javascript-language/
A suggested approach for how to learn Javascript. -
Zero to One: How I Mastered Javascript and You Can Too
https://hashnode.com/post/zero-to-one-how-i-mastered-javascript-and-how-you-can-too-ciuwmrw9j00r50q539clhhdj7
An article describing how one person approached learning Javascript, with suggestions and advice to follow. -
Want to Learn Javascript in 2016?
https://medium.com/@_cmdv_/i-want-to-learn-javascript-in-2015-e96cd85ad225
Extensive suggestions for resources to use when learning Javascript -
6 Quick & Proven Tips to Help You Learn JavaScript
https://blog.alexdevero.com/6-quick-proven-tips-learn-javascript/
Points to a couple of suggested books to help learn JS, and gives several additional suggestions for approaches and resources to use in the process. -
Array iteration methods summarized
https://gist.github.com/ljharb/58faf1cfcb4e6808f74aae4ef7944cff
An explanation of all the different Array methods that loop over the array, what they do, and when they should be used
-
Eloquent Javascript
http://eloquentjavascript.net/
A full online book teaching Javascript from the ground up. Very recommended. -
You Don't Know Javascript
https://github.com/getify/You-Dont-Know-JS
An online book series intended to teach all aspects of Javascript, including the "tougher" parts. -
Exploring Javascript
http://exploringjs.com/
Multiple free online books from Dr. Axel Rauschmayer. "Speaking Javascript" covers all of Javascript through ES5; "Exploring ES6" covers ES6 in depth; and other books look at versions of Javascript after ES6 and how to set up an ES6+ development environment. -
The Modern Javascript Tutorial
http://javascript.info/
A large tutorial series that covers all aspects of the modern Javascript language (basic syntax, data types, objects, and advanced function usage), as well as a section on using Javascript to interact with the DOM in web pages. -
Rithm School Free Javascript Course
https://www.rithmschool.com/courses -
Practical Javascript
http://watchandcode.com/p/practical-javascript
A free online course to learn Javascript fundamentals. -
Javascript Path
https://github.com/javascript-society/javascript-path
A list of books to master JavaScript Development -
DOM Enlightenment
http://domenlightenment.com/
A deep look at how to interact with the DOM from Javascript, without using a library or a framework. -
Javascript30
https://javascript30.com/
A free course from Wes Bos that teaches how to build 30 different interesting projects, using only "vanilla" Javascript. -
Javascript; The Core
http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition/
A dive into core concepts of how Javascript objects behave: prototypes, constructors, scopes, closures, andthis
. The second edition includes more of a focus on ES6 and newer features. -
The JavaScript Way
https://github.com/bpesquet/thejsway
A modern introduction to the JavaScript language, intended to be beginner-friendly, comprehensive, standards-aligned with the latest syntax and good practices, and hands-on.
-
CodeSandbox
https://codesandbox.io
A full-fledged online IDE that lets you build entire applications using React, Vue, and other toolkits. -
A Roundup of Online Code Playgrounds
https://www.sitepoint.com/round-up-online-code-playgrounds/
An overview and comparison of various online Javascript live code editing tools.
-
Mozilla Javascript Reference: the
this
keyword
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
MDN's usual excellent documentation, explaining howthis
works in Javascript -
Gentle Explanation of
this
keyword in Javascript
https://dmitripavlutin.com/gentle-explanation-of-this-in-javascript/
https://www.reddit.com/r/javascript/comments/4o1546/gentle_explanation_of_this_keyword_in_javascript/
Another long and in-depth explanation, plus some good discussion in the Reddit comments. -
The Inner Workings of Javascript's
this
keyword
https://www.sitepoint.com/inner-workings-javascripts-this-keyword/
https://www.sitepoint.com/mastering-javascripts-this-keyword/
A two-part article on the ins and outs ofthis
. -
Let's Settle
this
, Part One
https://medium.com/@nashvail/lets-settle-this-part-one-ef36471c7d97
Another look atthis
, with a number of examples and explanations -
Understanding Javascript Function Invocation and
this
http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/
An excellent explanation of how function calls and thethis
keyword work -
When 'not' to use arrow functions
https://dmitripavlutin.com/when-not-to-use-arrow-functions-in-javascript/
An in-depth look at when you should stick with standard JS functions instead of arrow functions -
Do ES6 Arrow Functions Really Solve "this" in Javascript?
https://derickbailey.com/2015/09/28/do-es6-arrow-functions-really-solve-this-in-javascript/
A dive into howthis
works inside of arrow functions, and some places when they may not be appropriate for use. -
Grokking Scope in Javascript
https://code.tutsplus.com/tutorials/grokking-scope-in-javascript--cms-26259
Advice for understanding how Javascript variable coping works -
Let It Be - How to declare JavaScript variables
http://madhatted.com/2016/1/25/let-it-be
https://www.reddit.com/r/javascript/comments/44yjzo/let_it_be_how_to_declare_javascript_variables/
A look at howvar
,let
, andconst
behave, and how using them communicates intent. Further discussion in the Reddit comments. -
This in Javascript
https://zellwk.com/blog/this/
Tries to demystify the behavior of thethis
keyword by explaining the six situations that can change the value ofthis
. -
Which Array Function When?
https://dev.to/andrew565/which-array-function-when
A great explanation of the differences between the various methods that can loop over arrays (map
,filter
,reduce
, andforEach
), and when you should use each one. -
What is This in Javascript?
https://developer.telerik.com/topics/web-development/what-is-this-in-javascript/
An easy-to-read explanation of the different waysthis
can be defined in a function. -
Everything you wanted to know about JavaScript scope
https://toddmotto.com/everything-you-wanted-to-know-about-javascript-scope/
A detailed look at the concept of "scopes" in JS, including global, local, function, and lexical scopes, and howthis
behaves in relation to scopes. -
On
this
in Javascript
http://georgemauer.net/2017/08/03/on-this-in-javascript.html
Describes howthis
is just a function parameter you don't get to name, and shows how it works with normal functions, arrow functions, and classes
- Javascript: Understanding the Weird Parts
https://www.udemy.com/understand-javascript/?couponCode=YOUTUBE19
https://www.youtube.com/watch?v=Bv_5Zv5c-Ts
http://joanmira.com/javascript-understanding-the-weird-parts/
A widely recommended course on Javascript by Tony Alicea. The first 3.5-hour video is free on Youtube, with a discount link for the course. The last link is notes from the course.