Before starting with these resources you should have some coding experience. If you would like to gain some more experience or have no experience coding, I would recommend having a look at Learn how to code with these resources. If you would prefer to dive straight in, the resources below can be completed in the order they are shown.
Free Code Camp (2017)
Tutorials and projects
If you are not familiar with testing in JS (with Jasmine) or how to do TDD, this course offers a great introduction.
This tutorial really helped me on my way to understanding functional programming.
Additional Resources that I haven’t tried (yet)
Also from Udacity: