Ask HN: Best resources for learning JavaScript in 2017
I'm a front-end web designer that doesn't know JavaScript. I wish to learn the fundamentals over winter (northern hemisphere) and continue to extend my knowledge. I am not on a time limit, I have a budget to purchase materials, and I'm allocating up to three hours a day to learn.
My question: what resources do you recommend for someone learning JavaScript from scratch in 2017?
Thank you.
20 comments
[ 2.0 ms ] story [ 58.4 ms ] threadDo every single one of those. When you're done, do them again without any help from the videos.
100% guarantee that if you make it through that process, you'll be better off than you would've been reading a bunch of O'Reilly books (though many really are excellent).
[EDIT] If that's a bit too advanced of a starting point, you can try something like Codecademy to get you familiar with the basics.
Best Docs: Mdn
Best Approach: https://javascript30.com
A good free online good is Eloquent Javascript http://eloquentjavascript.net/
The other day I wanted to refresh a bit my knowledge about react and, when I checked again, it was $200. Maybe the content is really good, but I finally found what I needed in Udemy for less than $30.
Other one if you want to go in a little deep: https://github.com/getify/You-Dont-Know-JS
Working on side projects or sth will be beneficial after these or along with these. I think Codacademy is pretty basic. Look for a bit more advanced problems.
Edit: For some advanced topics or frameworks, frontend masters is a very good resource. https://frontendmasters.com/
Javascript the Good Parts[1] is very solid, albeit a little more advanced and dry. Probably not a beginner book, but one to read after you've built a couple of medium sized projects. I use it as a reference to brush up on certain topics.
You-Dont-Know-JS [2] is a free online book series that is a great reference for brushing up on more advanced topics.
MDN Reference [3]: this is the best documentation out there. Always have a tab open and try reading the actual documentation on how things work. This will be very hard at first but will allow you to become a very strong developer.
I also recommend you avoid https://www.w3schools.com/. Google often puts W3Schools at the top when searching for what a method does, but often times it is out of date or provides technically incorrect information.
[0]: http://eloquentjavascript.net/
[1]: http://shop.oreilly.com/product/9780596517748.do
[2]: https://github.com/getify/You-Dont-Know-JS
[3]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Either I find some ES5 resources, and I have the feeling to spend my time learning stuff I'll never use by myself. Either I find some ES6 resources that need ES5 knowledge as prior requirements.
For example, even some may say I should, I don't wan't to be teached that before, we used "var", and now we use "let". I just want to learn the "let" version.
It's not yet on par with the other resources listed in this thread obviously, but I always use arrow functions, const and let, avoid semicolons and in general make use of modern JS across all the examples.
I did video courses once and I find that they are very hard to update once shipped, and they tend to age pretty quickly, so I went all-in with text content.
Egghead [0] if you want to learn JavaScript and some of the most popular / common techniques and frameworks currently used. The videos on this site can help you to get up to speed with frameworks and libraries such as React, Reactive Extensions, Vue, Angular, Redux, Ember and the like pretty quickly (once you get the hang of vanilla JavaScript)
Let's Code: Test-Driven JavaScript [1] if you want to have a great start (and deep dive afterwards) in vanilla JavaScript. I suggest to start with the video tutorials here which will help you to get a solid background not only in JavaScript, but also in application architecture, test driven development and things like build automation. Plus James is a great teacher, with a solid background in all of the above (and more).
[0] https://egghead.io/
[1] http://www.letscodejavascript.com/
MDN's documentation is by far the best. A very easy entry would be to use Codecademy, while more in depth video tutorials can be found on Pluralsight and Egghead (though Pluralsight also has some introductory and rapid training courses focused on Javascript). The best book for learning how JS works under the surface is Simpson's series 'You Don't Know JS'.
I also really liked getify's course on Frontend Masters, "Deep JavaScript Fundamentals," as well as his book series You Don't Know JS (though it's a bit much for a beginner).