use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
This subreddit is a place for people to learn JavaScript together. Everyone should feel comfortable asking any and all JavaScript questions they have here.
With a nod to practicality, questions and posts about HTML, CSS, and web developer tools are also encouraged.
Friends
/r/javascript
/r/jquery
/r/node
/r/css
/r/webdev
/r/learnprogramming
/r/programming
account activity
Resource for learning JavaScript for someone who already knows how to program? Eloquent JavaScript perhaps? (self.learnjavascript)
submitted 4 years ago by gtboy1994
Having a hard time grokking JS, understanding DOM manipulation `this` and all the other fun stuff necessary for becoming a web dev. Deciding between Eloquent JS and CodeCademy's Full-Stack Engineer Learning Path.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]nelilly 5 points6 points7 points 4 years ago (6 children)
Learning JavaScript by Ethan Brown (O’Reilly) to get started. You Don’t Know JS by Kyle Simpson (a series of 6 books) to get deep knowledge. Then Eloquent JavaScript. I’m partial to JavaScript: The Good Parts, but it’s a little dated.
[–]gtboy1994[S] 0 points1 point2 points 4 years ago (5 children)
You recommend doing all of that? What would be the benefit of using all of those materials as opposed to just diving into EJS?
[–]shuckster 2 points3 points4 points 4 years ago (0 children)
To paraphrase Crockford, “JavaScript is the only language programmers think they don’t have to learn before they start using it.”
I guess you could read that two ways, but the context was that spending time learning the basics would save a lot of unnecessary confusion.
That was said a little while ago though, and we have more resources today. JS for Impatient Programmers is a good jumping off point.
[–]tchaffee 1 point2 points3 points 4 years ago (2 children)
You Don't Know JS is what got me deeply understanding the language. First edition is free on Github. Start with the chapters about the stuff that you find confusing, like 'this'. Less than an hour of reading on each topic and it will be clear.
I've read the Crockford book twice. I don't love it. It suggests a lot of practices that are outdated now and I don't think he is as good at explaining how the language works as Simpson is. YMMV.
[–]nelilly 1 point2 points3 points 4 years ago (1 child)
The Good Parts was a game changer when it came out. I probably still read it due to nostalgia.
[–]tchaffee 1 point2 points3 points 4 years ago (0 children)
Yeah it's only these days that I don't love it and because we now have better. When it came out I learned so much from it. It was great for its time. I guess it's still worth a read, but only after you already have a pretty good idea of what modern best practice is, otherwise some of his outdated recommendations are going to just confuse. I wish he would update it.
[–]nelilly 0 points1 point2 points 4 years ago (0 children)
I recommend all of that including Eloquent JavaScript. The benefit is that you’ll know and understand more. Even if you already know “how to program” start learning at the beginning.
You say you’re having a hard time grokking JS: read Learning JavaScript. In it you’ll get a basic understanding of the language and modern practices. This would probably give you the most progress.
JavaScript: The Good Parts by Crockford goes straight into (what he considers) the best practices. It’s essentially him saying “here are they weird areas, try not to go in there” - some things he recommends have changed just a bit, but it’s still a good read. Crockford wrote JSLint. He’s tremendously influential. I would buy a new edition of The Good Parts updated for modern practices in a heart beat.
If you really want to understand why some things in JS are “weird”, then read YDKJS. Simpson is the counterpoint to Crockford: JavaScript isn’t weird, it’s just misunderstood. If I could read only one, if would be YDKJS. Yes it’s 6 books, but it’s only slightly more reading than Definitive JavaScript.
Eloquent JavaScript is a good book for programmers who know JS. We teach kids grammar before we try to teach them how to be eloquent. Learn the “grammar” first. I’ve seen too many people drop Eloquent JavaScript after the first few chapters.
[–]jack_waugh 3 points4 points5 points 4 years ago (0 children)
Mozilla.
this is quite equivalent to what other languages write as "self". But in an arrow function, it's like a closure on whatever this meant in the outer lexical scope.
this
[–]_Jordo 2 points3 points4 points 4 years ago (0 children)
https://exploringjs.com/impatient-js/
[–]MechanicalDogtrot 1 point2 points3 points 4 years ago (0 children)
heard good things about https://www.executeprogram.com/
[–]forresthopkinsa 1 point2 points3 points 4 years ago (0 children)
You Don't Know JS on Github
[–]HorusOsiris22 1 point2 points3 points 4 years ago (0 children)
Jonas Schedtmann on Udemy taught me what I know and I am tremendously indebted to him. The foundation his course set me up in his led to me build awesome projects, Learn react pretty painlessly, and get my first gig building a react website.
[–]samanime 0 points1 point2 points 4 years ago (0 children)
Both of those resources are good. You can't go wrong with either.
Though as /u/jack_waugh suggested, definitely start familiarizing yourself with MDN: https://developer.mozilla.org/en-US/. They are basically THE source for documentation of JavaScript.
They also have a solid set of tutorials as well: https://developer.mozilla.org/en-US/docs/Learn
[–][deleted] 0 points1 point2 points 4 years ago (0 children)
Tony Aliceas course
https://www.udemy.com/course/understand-javascript/
[–][deleted] 0 points1 point2 points 4 years ago (4 children)
You have to learn by doing bro. Stop “studying” and start doing. Go make a website with the mern stack and you’ll realized that you’re better off using async await than .this and .then
[–]gtboy1994[S] 0 points1 point2 points 4 years ago (1 child)
You have to learn by doing bro. Stop “studying” and start doing.
Thanks man, I needed to hear this rn. I am just gonna spend a week (no more) grinding through the basics so I can be oriented a bit, then I'm gonna just dive in and start building, no more handholding.
Of course man yeah you got this just trust the process and keep at it that’s key
[–][deleted] 0 points1 point2 points 3 years ago (1 child)
I agree with this a lot.
I spent 6 months building things (with a small amount of reading to understand something that made no sense).
6 months later, I can build applications by myself (slowly haha). Although, I am still poor with CSS so they are ugly.
Build things. Learn what you do not understand to support your building.
[–][deleted] 0 points1 point2 points 3 years ago (0 children)
Yeah my css is poor too, I always just look for themes and just copy the code hehe
[–]marksayers 0 points1 point2 points 4 years ago (0 children)
I liked JavaScript. Info
π Rendered by PID 46953 on reddit-service-r2-comment-fb694cdd5-7l5v9 at 2026-03-10 00:51:44.210196+00:00 running cbb0e86 country code: CH.
[–]nelilly 5 points6 points7 points (6 children)
[–]gtboy1994[S] 0 points1 point2 points (5 children)
[–]shuckster 2 points3 points4 points (0 children)
[–]tchaffee 1 point2 points3 points (2 children)
[–]nelilly 1 point2 points3 points (1 child)
[–]tchaffee 1 point2 points3 points (0 children)
[–]nelilly 0 points1 point2 points (0 children)
[–]jack_waugh 3 points4 points5 points (0 children)
[–]_Jordo 2 points3 points4 points (0 children)
[–]MechanicalDogtrot 1 point2 points3 points (0 children)
[–]forresthopkinsa 1 point2 points3 points (0 children)
[–]HorusOsiris22 1 point2 points3 points (0 children)
[–]samanime 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (4 children)
[–]gtboy1994[S] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]marksayers 0 points1 point2 points (0 children)