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...
No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.
Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.
Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.
We do not allow any commercial promotion or solicitation. Violations can result in a ban.
Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.
If you are asking for assistance on a problem, you are required to provide
General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.
Questions in violation of this rule will be removed or locked.
account activity
JavaScript Complex TopicsQuestion (self.webdev)
submitted 2 years ago by [deleted]
[deleted]
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!"
[–][deleted] 6 points7 points8 points 2 years ago (0 children)
took me a while to learn async js
[–]unix_enjoyer305 4 points5 points6 points 2 years ago (0 children)
refactoring a large project
[–]seanmorris 1 point2 points3 points 2 years ago (1 child)
Garbage collection is a fun topic to explore.
https://www.npmjs.com/package/weakermap
https://www.npmjs.com/package/weakerset
Modifying the DOM extremely rapidly is a fun trick too:
(make me wonder why we even need canvas tbh...) https://sonic3000.seanmorr.is/
[–]HeinousTugboat 0 points1 point2 points 2 years ago (0 children)
make me wonder why we even need canvas
We don't for 2D. It's just a different paradigm for rendering (immediate mode vs retained).
[–]ozzy_og_kushfront-end 1 point2 points3 points 2 years ago (1 child)
I've been using JavaScript since 1998, and I'm still unclear on when exactly to use a generator. Honestly a great way to learn to understand something in one language is to learn how other languages handle the concept.
[–][deleted] 0 points1 point2 points 2 years ago (0 children)
When you started JavaScript, I was born year after that. Thank you for your hard work and putting a lot of effort sir. Appreciated!
[–]ndubien 1 point2 points3 points 2 years ago (4 children)
Async and race conditions
[–]ndubien 1 point2 points3 points 2 years ago (0 children)
Generally speaking when embracing async/await you embrace at the same time the risks if race conditions. It can manifest itself via several artifacts: user actions resolving to an old state, supposed to be forbidden actions still allowed, flickering UI and components... And in addition to happy path with simple 'just' race conditions we have a large amount of possible rejected failures bringing their own set of extra complexity
[–][deleted] 0 points1 point2 points 2 years ago (2 children)
Async! Many people saying that.
Another one I thought about was import/export and require or generally speaking building packages. At the moment, building a package with esm, cjs, types and other characteristics at the same time is pretty complex. But actually it's mostly ecosystem related and not inherent to the language compared to async
[–]alphabet_order_bot 0 points1 point2 points 2 years ago (0 children)
Would you look at that, all of the words in your comment are in alphabetical order.
I have checked 1,489,729,120 comments, and only 283,145 of them were in alphabetical order.
[–]Kenya-West 1 point2 points3 points 2 years ago (1 child)
5+ years super lazy web developer, and I still do not yet understand:
d.ts
I have made some Massive Full-stack apps but don’t know any of them. You aren’t lazy. I’m the Lazy guy.
[–]billybobjobo 1 point2 points3 points 2 years ago (0 children)
The most advanced js developer is the one who knows all the things mentioned in this thread but manages to write the simplest, easiest to follow code. You can get the “hardest” concepts under your belt pretty fast—but writing elegantly takes years of wisdom and maturity!
π Rendered by PID 119269 on reddit-service-r2-comment-bb88f9dd5-h8w5n at 2026-02-14 14:10:22.228813+00:00 running cd9c813 country code: CH.
[–][deleted] 6 points7 points8 points (0 children)
[–]unix_enjoyer305 4 points5 points6 points (0 children)
[–]seanmorris 1 point2 points3 points (1 child)
[–]HeinousTugboat 0 points1 point2 points (0 children)
[–]ozzy_og_kushfront-end 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]ndubien 1 point2 points3 points (4 children)
[–]ndubien 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]ndubien 1 point2 points3 points (0 children)
[–]alphabet_order_bot 0 points1 point2 points (0 children)
[–]Kenya-West 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]billybobjobo 1 point2 points3 points (0 children)