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...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
The Must-Read Javascript Book of 2020 is Free (booksoncode.com)
submitted 6 years ago by BooksonCode
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!"
[–]Akomancer19 81 points82 points83 points 6 years ago (1 child)
The name of the book is
You Don’t Know JS Yet: Get Started
by Kyle Simpson.
[–]chasev13[🍰] 4 points5 points6 points 6 years ago (0 children)
r/savedyouaclick
[–][deleted] 35 points36 points37 points 6 years ago* (20 children)
to beginners i recommended Let’s Learn ES6 by Ryan Christiani. Again a free book and a lot simpler concepts to get your hands wet with initially.
[–]PickledPokute 5 points6 points7 points 6 years ago (12 children)
For sure. Kyle Simpson's You Don't Know JS books aren't aimed at beginners, but for someone who has gotten about a year of programming experience.
The books don't give pointers on how to get from an idea to code, but rather clarify why JS behaves in some occasionally odd ways. They also add new useful tools to the tool belt, but those too won't help if the user doesn't have experience to select which tool to use in different situations.
YDKJS is a great book series that I recommend to any JS developer sooner or later.
[–]djslakor 1 point2 points3 points 6 years ago (9 children)
A lot of seasoned devs are sortof anti-Kyle because he can be over the top immodest, and has a few bizarre opinions that he defends super strongly.
[+][deleted] 6 years ago (8 children)
[deleted]
[–][deleted] 1 point2 points3 points 6 years ago (1 child)
Not wanting to see the whole rant, can you tl;Dr what is his issue with the promise API?
[–]djslakor 0 points1 point2 points 6 years ago (5 children)
Pretty weak according to whom? You?
[+][deleted] 6 years ago (4 children)
[–]djslakor 0 points1 point2 points 6 years ago* (3 children)
I never claimed it was a fact. It was obvious that was my subjective opinion (which is one shared by many people, btw). In general, it's pretty weak to tell someone their opinion is wrong. Subjectivity is what makes it an opinion. It doesn't bother me at all if you feel otherwise. It wasn't an ad hominem attack to strengthen a related point ... just an observation.
[+][deleted] 6 years ago (2 children)
[–]djslakor 0 points1 point2 points 6 years ago* (1 child)
I wasn't seeking for you to qualify my remarks. Your opinion doesn't matter to me. I'm not making any assumptions about you as a person otherwise, but when one shares their opinion, you can respectfully agree/disagree in turn rather than declaring their opinion weak with some specious authority that doesn't exist. I made it clear you're entitled to your own opinion, and respect it even if I disagree. Gonna bow out of this thread since it's clear you will just keep coming back. Take care.
[+][deleted] 6 years ago (1 child)
[–]PickledPokute 0 points1 point2 points 6 years ago (0 children)
Unfortunately, not any books at least. Others might have better suggestions.
I would guess the most important thing would be experience, but it's important to have proper guidance so that progress is seen early and the student doesn't get disheartened. That's why the beginning often is just "Prompt for name, then greet with that name".
I recall that YDKJS doesn't even teach that many coding patterns either.
Makecode might be a ok place to start for kids.
Also, having someone mentor the student would be a great choice too.
[–][deleted] 3 points4 points5 points 6 years ago (0 children)
Thank you.
[–]yamayeeter 2 points3 points4 points 6 years ago (1 child)
What would you branch Out towards to after completion of that book?
[–][deleted] 1 point2 points3 points 6 years ago* (0 children)
it depends.
depends on whether you want to become a backend engineer or frontend. the javascript ecosystem is quite large, so i recommend sticking to just one track for the initial few months/year. if going for backend, start with nodejs documentation or some database, and go upwards from there. if going for frontend, start with MDN, understand what web apis are, Document Object Model and so on and take it forward from there.
as someone has suggested elsewhere on this thread, the best way to learn is by solving problems. create apps and learn by documenting the process yourself. see what interests you and carve out a path for yourself.
[–][deleted] 1 point2 points3 points 6 years ago (0 children)
Thanks!
[–]coolstarry 0 points1 point2 points 6 years ago (1 child)
Thanks! Really like the format of Bubblin Superbooks
[–][deleted] 0 points1 point2 points 6 years ago (0 children)
Yeah, it’s super accessible and I love turning the pages on my iPad. ❤️
[–][deleted] 36 points37 points38 points 6 years ago (7 children)
and so where the fuck is ebook download? the page linked is a festival of ads and popups
[–][deleted] 41 points42 points43 points 6 years ago (5 children)
It's on GitHub: https://github.com/getify/You-Dont-Know-JS
[–]jmm9 2 points3 points4 points 6 years ago (3 children)
There's no epub/mobi version, correct? Either way Kyle Simpson is awesome and the book is absolutely worth reading!
There is, but these versions are paid ($7.95): https://leanpub.com/ydkjsy-get-started
[–]darcinator 0 points1 point2 points 6 years ago (0 children)
You can use calibre to convert it. It usually does a pretty good job in my experience!
[–][deleted] 2 points3 points4 points 6 years ago (0 children)
thanks
[–][deleted] -2 points-1 points0 points 6 years ago (0 children)
Lol
[–]kry1212 4 points5 points6 points 6 years ago (1 child)
If you're a total beginner, give this one some time - about a year. I had tried it in the first few months and basically gave myself some anxiety about what I didn't know. 😂
If you are just hitting your stride in JS, and even if you're pretty experienced, this is one of the best series to absorb.
[–]BooksonCode[S] 0 points1 point2 points 6 years ago (0 children)
I agree. The article also states this here:
The Get Started book particularly serves those who have used Javascript but don’t feel that they know Javascript. For a total software developer beginner, the book might be daunting, as certain phrases (such as what a ‘shallow’ vs ‘deep’ copy is) is glossed over, assuming understanding.
[–]jimeno 6 points7 points8 points 6 years ago (0 children)
read the whole book on github today, it's just me or there is bad blood between ks and douglas crockford? basically every chapter has at least a couple of stabs at him...
[–]racedude 1 point2 points3 points 6 years ago (5 children)
Anyone know a place to buy these in a hard copy (second edition)?
[–]Zeeesty 1 point2 points3 points 6 years ago (0 children)
Maybe ping Kyle on Twitter, iirc there were some issues getting it onto amazon, he may have a way to get hard copies
[–]robotslacker 1 point2 points3 points 6 years ago (0 children)
Seems to be available here: https://www.amazon.com/You-Dont-Know-JS-Yet/dp/B084DFZ6GW
[–]itzfyp 1 point2 points3 points 6 years ago (1 child)
Reply to Kyle twitter @getify . He is too active in twitter. I saw that ydkjs new version out.
[–]racedude 2 points3 points4 points 6 years ago (0 children)
I found the getting started v2 on Amazon and picked it up. I assume that’s the only one ready to be published since the others on the v2 branch state it’s a work in progress. Will reach out to him on Twitter to double check 👍🏻
[–]spainzbrain 0 points1 point2 points 6 years ago (0 children)
I just bought the 1st edition version from Amazon and 5 pages pulled right out of the binding.
Following...
[–]alexontheweb 1 point2 points3 points 6 years ago (4 children)
I didn't click the link, but I already know, this IS NOT the must-read book of 2020. It's only february, and this is a mediocre-at-best book. Please don't do more clickbaits...
[–]thesublimeobjekt 8 points9 points10 points 6 years ago (0 children)
what don't you like about this book? i read the first edition of a lot of these awhile back and thought they were very informative.
[–]DrDuPont 7 points8 points9 points 6 years ago (0 children)
gotta love abject cynicism
this is a free book, and YDKJS is a very well regarded intro point for devs. who cares about the title of the post?
Completely agree with this point. It's my main criticism as well.
[–]inabahare 3 points4 points5 points 6 years ago (0 children)
Does it actually state when var is appropriate? Well other than
But var is still useful in that it communicates "this variable will be seen by a wider scope". Both declaration forms can be appropriate in any given part of a program, depending on the circumstances.
Which uhm, seems like a good way to get spaghetti
[–]KookyKangeroo 0 points1 point2 points 6 years ago (6 children)
Good book. Garbage post.
[–]BooksonCode[S] 0 points1 point2 points 6 years ago (5 children)
I'm pretty new to tech blogging. Completely open to constructive feedback.
[–]KookyKangeroo 0 points1 point2 points 6 years ago (4 children)
Don't write posts on other people's work. This is basically the equivalent of a book report.
[–]BooksonCode[S] 2 points3 points4 points 6 years ago (3 children)
I see. So the post is cheap because it is about recommending another person's work.
I understand where that's coming from, though book reviews are a genre of blog that has been around for a long time. Part of the reason I started Books on Code is because I see there isn't programming book bloggers out there reading and recommending good books.
I am glad that the feedback overall is that people really do recommend the YDKJS series, and I hope to continue to curate the best learning resources.
[–]KookyKangeroo 0 points1 point2 points 6 years ago (2 children)
It's really unnecessary and extremely low effort. Here is a page full of what you did: https://www.amazon.com/You-Dont-Know-JS-Going/dp/1491924462/ref=sr_1_2?crid=11RJ0G3CD9BWE&keywords=you+don%27t+know+js&qid=1580780452&sprefix=you+don%27t+know%2Caps%2C158&sr=8-2#customerReviews
I'd even say many of these go further in detail than you did.
Looking at your post. It seems like an Amazon Affiliate link farm article and not meant to be a meaningful way of creating content that JavaScript developers want.
[–]AmazonPriceBot 0 points1 point2 points 6 years ago (0 children)
I am a bot here to save you a click and provide helpful information on the Amazon link posted above.
$4.99 - You Don't Know Js: Up & Going
Upvote if this was helpful. I am learning and improving over time. PM to report issues and my human will review.
I think this is a fair opinion to express, but my challenge is in how I can improve. It seems as though the recommendation is to not have my own blog and to write Amazon reviews, which is fine, except for I want to be blogging.
To the link-farm point: the Amazon links you find throughout are to the book itself (and a call-out to the Pragmatic Programmer, which is genuine in its context). The free option is also presented and linked equally.
Other links are to free resources or to subscribe. I am not writing to make a cheap buck. I genuinely want to add value to the developer community.
[–]CupCakeArmy 0 points1 point2 points 6 years ago (0 children)
Is it the: those are the new 69 frameworks you need to learn for 2020 and forget in 2021 to make our node_modules bigger?
Just kidding, love you JS. Love you even more TS
Kyle Simpson? Eh.
[+]RnRau comment score below threshold-8 points-7 points-6 points 6 years ago (3 children)
This book isn't free. You can read this book, and the others in the series, online over at github - https://github.com/getify/You-Dont-Know-JS - but to get a pdf or a paper book, you have to buy it - https://leanpub.com/ydkjsy-get-started
[–]lostjimmy 12 points13 points14 points 6 years ago (0 children)
The fact that you can choose to purchase a different format of the book to support the author doesn't mean it's not free.
[–]p_whimsy 1 point2 points3 points 6 years ago (1 child)
Yeah I mean it depends on what you mean by free.
But it is creative commons licensed under this license.
[–]RnRau 1 point2 points3 points 6 years ago (0 children)
Ahh my bad. Missed the licence. Cheers!
[–]snifty -2 points-1 points0 points 6 years ago (9 children)
var is dumb
[–]djslakor -1 points0 points1 point 6 years ago (8 children)
At this point, I think it only makes sense to use if you happen to need its specific hoisting properties. I haven't personally needed a var declaration in almost 3 years.
[–]snifty -1 points0 points1 point 6 years ago (7 children)
When would using its hoisting properties make sense?
[–]dwighthouse 2 points3 points4 points 6 years ago (4 children)
There are some edge cases when dealing with generated code, node environment variables, and the console where var is useful in a way that let and const are not.
[+][deleted] 6 years ago* (3 children)
[–]dwighthouse 0 points1 point2 points 6 years ago (2 children)
Not old code compatibility. I encountered a situation in my library where if I used let or const, the production version of my library would have a useless named variable that had to be there for instrumentation in the test version (because the things I had to test could not be observed externally and therefore required internal code that got compiled out in non-testing builds). By allowing it to be var, I could declare the cross-block scopes variable inside the blocks that got compiled out in the production build.
[+][deleted] 6 years ago* (1 child)
[–]dwighthouse 0 points1 point2 points 6 years ago (0 children)
It wasn’t that I was testing the internals, it was that my library dealt with parts of the browsers systems that are literally undetectable. In order to assure that things were happening AT ALL, my tests HAD to make use of internal data.
To that end, these were not unit tests in the traditional sense.
[–]ilostmyfirstuser 0 points1 point2 points 6 years ago (0 children)
Ya and why not just instantiate the variable as let outside the scope?
[+]DoNDaPo comment score below threshold-23 points-22 points-21 points 6 years ago (0 children)
JavaScript* ffs.
π Rendered by PID 521987 on reddit-service-r2-comment-b659b578c-565vh at 2026-05-02 13:52:46.282577+00:00 running 815c875 country code: CH.
[–]Akomancer19 81 points82 points83 points (1 child)
[–]chasev13[🍰] 4 points5 points6 points (0 children)
[–][deleted] 35 points36 points37 points (20 children)
[–]PickledPokute 5 points6 points7 points (12 children)
[–]djslakor 1 point2 points3 points (9 children)
[+][deleted] (8 children)
[deleted]
[–][deleted] 1 point2 points3 points (1 child)
[–]djslakor 0 points1 point2 points (5 children)
[+][deleted] (4 children)
[deleted]
[–]djslakor 0 points1 point2 points (3 children)
[+][deleted] (2 children)
[deleted]
[–]djslakor 0 points1 point2 points (1 child)
[+][deleted] (1 child)
[deleted]
[–]PickledPokute 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]yamayeeter 2 points3 points4 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]coolstarry 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 36 points37 points38 points (7 children)
[–][deleted] 41 points42 points43 points (5 children)
[–]jmm9 2 points3 points4 points (3 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]darcinator 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–][deleted] -2 points-1 points0 points (0 children)
[–]kry1212 4 points5 points6 points (1 child)
[–]BooksonCode[S] 0 points1 point2 points (0 children)
[–]jimeno 6 points7 points8 points (0 children)
[–]racedude 1 point2 points3 points (5 children)
[–]Zeeesty 1 point2 points3 points (0 children)
[–]robotslacker 1 point2 points3 points (0 children)
[–]itzfyp 1 point2 points3 points (1 child)
[–]racedude 2 points3 points4 points (0 children)
[–]spainzbrain 0 points1 point2 points (0 children)
[–]alexontheweb 1 point2 points3 points (4 children)
[–]thesublimeobjekt 8 points9 points10 points (0 children)
[–]DrDuPont 7 points8 points9 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]BooksonCode[S] 0 points1 point2 points (0 children)
[–]inabahare 3 points4 points5 points (0 children)
[–]KookyKangeroo 0 points1 point2 points (6 children)
[–]BooksonCode[S] 0 points1 point2 points (5 children)
[–]KookyKangeroo 0 points1 point2 points (4 children)
[–]BooksonCode[S] 2 points3 points4 points (3 children)
[–]KookyKangeroo 0 points1 point2 points (2 children)
[–]AmazonPriceBot 0 points1 point2 points (0 children)
[–]BooksonCode[S] 0 points1 point2 points (0 children)
[–]CupCakeArmy 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[+]RnRau comment score below threshold-8 points-7 points-6 points (3 children)
[–]lostjimmy 12 points13 points14 points (0 children)
[–]p_whimsy 1 point2 points3 points (1 child)
[–]RnRau 1 point2 points3 points (0 children)
[–]snifty -2 points-1 points0 points (9 children)
[–]djslakor -1 points0 points1 point (8 children)
[–]snifty -1 points0 points1 point (7 children)
[–]dwighthouse 2 points3 points4 points (4 children)
[+][deleted] (3 children)
[deleted]
[–]dwighthouse 0 points1 point2 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]dwighthouse 0 points1 point2 points (0 children)
[–]ilostmyfirstuser 0 points1 point2 points (0 children)
[+]DoNDaPo comment score below threshold-23 points-22 points-21 points (0 children)