
Ask HN: What's the best path for learning JavaScript for web development? - canremember
I&#x27;m a web developer who doesn&#x27;t know Javascript. Yes, that&#x27;s a bit shameful to say, since Javascript is the language of the web. I&#x27;ve basically managed thus far with just backend languages and frameworks and hacking together CSS&#x2F;Bootstrap&#x2F;a tiny bit of jQuery, but obviously I need to learn JS.<p>Assuming I have close to zero JS knowledge but know how to program, what&#x27;s the best learning path for me to become competent in frontend development?<p>One idea I had was<p>1. Read Eloquent Javascript<p>2. Read Javascript--the good parts<p>Work on side projects using this stuff as I read through it<p>3. Read a book on jquery, keep doing side projects<p>And then eventually start learning a framework. Is this a good plan? Any suggestions?
======
ggurgone
Forget about Bootstrap and jQuery, learn vanilla js.

Reading Eloquent JavaScript is a good starting point. Once you are done with
that, build something and join #javascript @ FreenodeIRC and ask for help when
you get stuck on something.

The good parts is nice but keep in mind that it is very opinionated, still it
is worth reading. There are some lectures by Crockford on youtube too (tl;dr)
[https://www.youtube.com/watch?v=JxAXlJEmNMg&list=PL766437924...](https://www.youtube.com/watch?v=JxAXlJEmNMg&list=PL7664379246A246CB)
Also this on OOP
[https://www.youtube.com/watch?v=DwYPG6vreJg](https://www.youtube.com/watch?v=DwYPG6vreJg)

Finally you may want to familiarize with the most common JavaScript design
patterns (some are not unique to js)
[http://addyosmani.com/resources/essentialjsdesignpatterns/bo...](http://addyosmani.com/resources/essentialjsdesignpatterns/book/)

------
rnovak
I've really never learned anything well by learning a book, maybe you'll have
the same luck (or lack-thereof).

Id' start building stuff. Follow tutorials, and then starting looking at API
docs and experimenting.

After that, I'd follow along with 'JavaScript Ninja'[1], straight from John
Resig (who designed/wrote? jQuery), which gets into the prototypical
inheritance, etc.

I've gotten past some fairly well-known Technical interviews through the above
approach.

Either way, good luck with your journey.

[http://ejohn.org/apps/learn/](http://ejohn.org/apps/learn/)

------
gt565k
I think you've got a pretty good starting point.

Once you get fairly decent with JavaScript, I'd like to recommend 3rd Party
JavaScript

[http://www.amazon.com/Third-Party-JavaScript-Ben-
Vinegar/dp/...](http://www.amazon.com/Third-Party-JavaScript-Ben-
Vinegar/dp/1617290548/ref=sr_1_1?s=books&ie=UTF8&qid=1445985347&sr=1-1&keywords=3rd+party+javascript)

It's a great book that taught me how to create JS widgets (think twitter feed
or disqus comment widget).

------
Ch_livecodingtv
1\. Understand what JavaScript Is and Isn’t 2. Enroll a java script tutorial.
3. Read JavaScript and try coding together with it. 4. See people actually
doing it. This video might just help you.
[https://www.livecoding.tv/video/javascript-
fundamentals-2/](https://www.livecoding.tv/video/javascript-fundamentals-2/)

------
kat
I learned Javascript from a desktop app background. I started by just reading
the Javascript docs. Memorizing the available functions, and then I focused on
learning how to write things javascripty.

Personally I find learning more rewarding when I move faster, so I dove into
frameworks first instead of learning the low-level javascript (prototypical
inheritance, etc).

------
atmosx
I have this one[1] and it seems to be extremely well written.

[http://www.amazon.com/JavaScript-Definitive-Guide-
Activate-G...](http://www.amazon.com/JavaScript-Definitive-Guide-Activate-
Guides/dp/0596805527)

------
pomba
[https://www.udemy.com/understand-
javascript/](https://www.udemy.com/understand-javascript/)

Try this out man, one of the best tutorial ever!

------
Mimick
It's not shameful, JS is one of the most complex languages out there. And most
web developers just ignore it and go for jQ like it's the new JS.

What I did once is I worked on a project only with pure JS, and did some
complex ideas there and since then I feel comfortable working with it. I work
with it purely only on my personal websites since it's take longer time.

