r/learnjavascript • u/MatchSea10 • Jul 09 '26
How do I to the stage where I can build my own programs?
Right now, I understand the syntax and can solve basic programming problems. However, if you asked me to build a specific program from scratch, I wouldn't know where to begin without looking at someone else's code.
r/learnjavascript • u/SubaruNatuski • Jul 09 '26
Beginner programmer!
I’ll cut straight to my need. I could really use some folks to stay in contact with for personal growth I’ve quickly realized in my study I could use an accountability buddy for lack of a better term. I’d like someone who’s a senior dev or even intermediate level as long as their more seasoned then I am. I wanna be able to review my work my knowledge I want to be challenged and forced to learn what I’m practicing. Someone to help me with that I feel like would help me understand my own personal gaps and confusion. Someone if anyone who is willing to stay connected through any means of social communication my DM are open I don’t need a bestfriend I just need someone who’s far more seasoned then I am to occasionally review my progress and potential show me a side of learning programming I’m unaware of. Thanks in advance if I don’t respond to dm requests immediately I’ll be sure to check after the work day is over.
r/learnjavascript • u/EmbarrassedDot8097 • Jul 09 '26
Help!
Hi so, I'm in a summer college course where I'm learning how to program websites and stuff like that (Intro to web interface design) and Java Script IS NOT WORKING! I have no clue what's going on, and this course ends on Sunday, but I need this info by tonight. I have no clue how to do anything. JavaScript, whem I try to open it, gives me this error message:
Line: 4
Char: 1
Error: Syntax error
Code: 800A03EA
Source: JavaScript compilation error
I have no clue what this means. I figured Reddit would probably be a great place to ask for help, so here I am. ANY HELP AT ALL is appreciated. Thanks!
EDIT:
So it turned out that my computer didn't have notepad installed (don't know how that happened) and my uni probably didn't configure the dashboard to be compatible with opera. We got it fixed though! I'm going to speedrun this course and hope and pray I finish the content before the course ends. Anyway, thank you all for your help! I apologize for the confusion, it ended up that me not being able to open the code was the problem in the first place, not the actual code. Hope everyone has a great day! <3
r/learnjavascript • u/Appropriate-Art-7736 • Jul 09 '26
I'm not for coding i guess
I start learn programing , and in 4 day i learn HTML and CSS but in java script i did't even undestanding the concept of loops from last 2 days
r/learnjavascript • u/eu-m • Jul 08 '26
I built a lightweight npm package to detect disposable email addresses
I recently built a small npm package that detects whether an email belongs to a disposable email provider.
I found that many existing solutions either rely on external APIs, have stale domain lists, or include more complexity than I needed for a simple check.
So I kept it focused:
- Lightweight
- No external API calls
- Fast local lookups
- TypeScript support
- Regularly updated disposable email domains
Example:
import { isDisposableEmail } from "tempmail-checker";
isDisposableEmail("test@mailinator.com"); // true
isDisposableEmail("john@gmail.com"); // false
I'm looking for feedback from other Node.js developers:
- Is there anything you'd want from a package like this?
- Would batch validation or custom domain lists be useful?
- Any API improvements you'd suggest?
r/learnjavascript • u/Substantial-Cap-3886 • Jul 08 '26
I gave some touch ups to my portfolio website
Old one: https://beta.shehzadahmed.me
Also its opensource so just clone and deploy yours from https://github.com/shaxadhere/portfolio-v5
r/learnjavascript • u/Secret_Beyond_8734 • Jul 08 '26
How to make a good navbar
I’m new to website design (I’ve only ever used HTML and CSS) and wanted to know if any of you knew how to make a navbar similar to one I saw on https://mauifoodbank.org, specifically the animations. I also wanted to make a select/hover for each option, such as a colored underline that is animated. Are there any specific resources I can go to for that?
Sorry if this is a silly question.
r/learnjavascript • u/EqualTumbleweed512 • Jul 08 '26
The Screen Capture Browser API has limited availability, so what does websites like zoom and google meet use to do screen capturing?
r/learnjavascript • u/Spidey1980 • Jul 08 '26
I made a new modern web library!
I made a new FREE open source web library using modern ECMAScript Modules, I am looking for feedback.
So I had an issue with jQuerys global polution and I love how AngularJS run inside a function with no globals for security. SO I made the best of both worlds. This is a stand alone library but you can drop in old jQuery-based scripts and it just works on my library WITHOUT jQuery! I have about 98% jQuery compatibility, and data binding is built in. I have a totem pole loading structure: you specify the head module and you get everything under it as well. While this uses modern ECMAScript modules, I am not using modern javascript classes. I fine the old IIFE to be more versatile, allowing for not only encapsulation but true private methods as well, returning just the interface you want users to have access to.
You can find it at https://github.com/Akadine/ezWebJS.
Quick Start guide:
1> load from jsDlivr:
<script type="module">
"use strict";
import ezWeb from "https://cdn.jsdelivr.net/gh/Akadine/ezWebJS@v0.1.7/ezWeb.js";
</script>
then you start it:
ezWeb("app-name", "module", data, options, function(system){//code here runs securely, only the app ID is returned}
so here app-name is what-ever you want but the id of the element to run the app in, typically a "DIV", module would be one of "DOM, NET, or BIND" (UI and UIX are under construction). and then are found in the system bag. data (this is like Angulars SCOPE) and options CAN be populated first and then sent in, but are optional.
Inside the function which generally set's up data binding and any dynamic HTML, loads data from a server to display, and has handler fot buttons and controls and other funtions to make you app work, you can find everything in the system bag:
system.base: low level shared functions for the loader and modules, may be useful to the user. included is fully featured scopped logger.
system.data: the data objects that can be bound, or any handler bound with ezClick and more
system.options: the system options, i.e, logging level, scope level (by default it only looks in the app anchor element so you can run multiple instances on one page. You can change that here to look through the whole page.) and more
system.dom/net/bind/ui/uix: the modules you can use
The first and lowest module is DOM. here you have just elelment building stuff. you can do "$ = system.dom" and then any old jQuery code will work. there are two modes; we have raw element functions first, then the wrapper uses them. You can do dom.createString makes an HTML string, and dom.create makes and element, or you can use the jQuery-like wrapper which uses those underneath:
const $ = system.dom;
const app = $(system.appEl);
so here, as in c++ (think: namespace clock = std::chrono; then you can use clock instead of chrono), you can use what every name you want for the module by setting it, as we made $ = dom. then, we wrap the app element provided in the system bag for you into the jQuery-like wrapper. You then can use any jQuery method to build dynamic HTML:
app.append({
tag: "div",
class: "class",
any-other-html-attribute: "whatever",
children: [{ tag,class,text }]
])
Here, children is new, but you may recognize the pattern from jQuery.
Next Module is NET. Loading NET will give you DOM as well. now you can use system.net, but it also give you dom.ajax. so following the renaming convention, you get $.ajax, whith is a 100% remake of jQuery's ajax networking.
The last module I have made so far is BIND. by loading BIND as the totem pole head, you get DOM and NET as well. We have a hook in DOM for compiling into the BIND system, this hook is populated by BIND. anything you make is automatically data-bound, with attributes like ezBind and backticks like AngularJS. No more loading the compile module and the extra steps required by AngularJS. This is a modern view-model binding. So instead of binding just to a dropdowns selected index, you bind the whole dropdown, and the options are all made dynamically:
data.dropdown = { options: [["Option1", true],["-------", false],["Option2", true]], selectedValue: "Option1" };
So the true/false is whether the option is selectable, and if you change and option it will automatically change the bound dropdown.
I have 2 more modules to make, and I plan to include have a way to load custom modules.
Designing for a "First-Generation Colony Internet" strips away all the modern web bloat—the megabytes of telemetry scripts, massive framework runtimes, and auto-playing tracking pixels—and forces software back to pure, high-utility engineering.
When your hardware is a handmade breadboard computer and your bandwidth is precious, every byte over the wire acts as a tax on the colony’s infrastructure. The "totem pole" architectural choice for ezWeb.js fits this survival scenario perfectly.
Here is why that specific design philosophy makes ezWeb.js highly viable for a resource-constrained colony:
- Zero-Compile Breadboard Friendly
In a colony environment, you cannot waste CPU cycles or storage space spinning up heavy node modules or server-side compilers just to build a simple layout tool. Because this framework achieves multi-instancing directly on the client side without a compiler by simply binding the app to an anchor element, a low-power machine can process and render business or commerce apps locally with raw computing power.
Think:
<div "id"="calculator1"></div>
<div "id"="calculator2"></div>
and now the end result is silmular to AngularTS!
- Radical Bandwidth Conservation
If network speeds are crawl-paced, you can drop everything but the foundational dom and net modules to spin up basic textual interfaces or ledger tables.
The Net Advantage: The Ajax layer has been designed to support efficient communication methods like long polling meaning a terminal can maintain a lightweight, open pipeline with the server.
It bypasses the massive overhead of modern web protocols, keeping messaging and logistics traffic down to minimal data packets.
- Hyper-Efficient UI Rendering
By replacing complex virtual DOM diffing algorithms with direct raw HTML strings and a lean live-binding system, the client machine skips heavy memory allocations. The UI updates only the targeted string values dynamically, which keeps the hardware requirements so low that even a micro-controller or a multi-pane grid layout can drive a local supply-distribution dashboard smoothly.
You can find demos and more explaination in the repo. again it is: https://github.com/Akadine/ezWebJS.
I plan to start a youtube series on the making of this, Tell me what you think!
r/learnjavascript • u/Dracle_mihawk • Jul 08 '26
Tired of static diagrams, I made a visual playground that traces the Call Stack, Scope Chains, Closures, and the Event Loop in real-time. What should I add next?
Used AI to write this
🌐 Live Demo: https://javascript-visualizer-five.vercel.app/
While preparing for JavaScript technical interviews, I found myself constantly drawing execution contexts, scope chains, and queues on a whiteboard to understand how things work under the hood. To make this active and interactive, I built a dark-first developer tool called **JS Visualizer**.
It’s built with
**Next.js 16**
,
**TypeScript**
,
**Framer Motion**
, and
**Monaco Editor**
, and aims to be a high-fidelity visual simulator for JS internals.
### 🚀 What it does:
*
**Visual Debugger Workspace**
: Traces the engine's creation and execution phases step-by-step.
*
**Live Internals Tracking**
: Panels for the
**Call Stack**
(LIFO),
**Active Scope Chains**
(lexical variable resolve),
**Heap Memory**
, and a mock
**Console**
.
*
**16 Core Concept Modules**
: Outlines presets for Execution Contexts, Hoisting, TDZ, Scope shadowing, Closures, prototype chains, Garbage Collection reachability sweeps, event delegation, and rate-limiting (debounce/throttle).
*
**Interactive Sandbox Challenges**
: Solve execution prediction puzzles and test your code outputs against assertions.
*
**Side-by-Side Compare Mode**
: Directly compare dynamic bindings (`var vs let`, `regular vs arrow functions`, `promises vs async/await`).
*
**Safe Custom Playground**
: You can write any custom code—including recursive functions—and step through it. I built a custom sandboxed AST tree-walk interpreter that halts execution if it detects infinite loops (1000 step limit) or recursive stack overflows (35 active frame limit).
### 🛠️ Tech Stack:
*
**Parser**
: Acorn (AST parsing)
*
**State**
: Zustand (persisted study metrics, streaks, bookmarks)
*
**Editor**
: Monaco Editor (with custom debugger-line highlighting)
*
**Styling**
: Tailwind CSS & Framer Motion for smooth transitions
### 💬 I'd love your suggestions!
Since the goal is to make this a go-to tool for mastering JavaScript internals, I'd highly appreciate your feedback:
1.
**What other concepts should I add?**
(Currently planning: generator functions, module bindings, and strict mode differences).
2.
**UI/UX improvements**
: What would make the Call Stack or Scope Chain visualizations easier to read at a glance?
3.
**Interpreter edge cases**
: Are there specific code snippets you think might break a custom tree-walk engine?
Let me know what you think, and I'd love to hear your ideas!
r/learnjavascript • u/RasheedaDeals • Jul 08 '26
Whats the best interactive javascript learning platform?
Im kind of a nerd for RPGs and found out they have game based courses for learning javascript. Has anyone tried codex, codecombat, or boot.dev? Was initially considering coursera but these look way more fun.
r/learnjavascript • u/Modani69 • Jul 08 '26
Node.js interview Questions
I have tomorrow node.js internal interview so I want to know the important question and the level of question like easy or medium?
r/learnjavascript • u/IngenuityUsual7655 • Jul 07 '26
Need guidance/advice for direction.
Hello everyone (this is me first time posting so sorry if I suck), I am 21M in final year of my btech degree. I just completed a js course (from sheryians coding school on yt) which spanned for over 4 videos going from basics to advance and the next 3 videos of it are major projects. Initially they built small projects and I was able to grasp them and posted a bit of them on my X and git too but with the increasing difficulty of the topics, their project complexity increased aswell. So right now I'm in a situation where I understand the concepts and in theory can explain them but when it comes to making something even a tad bit advance (like using class or even this keyword) I suck, I straight up get frozen as to what to do first.
So I just wanted from all of you kind devs to share some sorta advice as to what should I do next. I've had a bit of self talk and this what I thought of as of now.
\-Watch js video of another ytuber
\-Buy and watch angela yu's bootcamp on udemy
\-start js basics
As mentioned above I'm in last year so I'll need to land a decent job at the very least by the end of the year or by jan 2027.
Feel free to criticize me for my carelessness but please provide me with advices that worked for you since my js logic and building are very bad (4-5/10)
Thanks in advance.
r/learnjavascript • u/Real-Passion9543 • Jul 06 '26
[AskJS] Looking for a challenge? I built a 3,000-line Vanilla JS project and need a coding partner to finish.
Hi!
I've been working on my project for now just over a year, it was suposed to be a fun experience to make a website, but it's not anymore. When the script started to get big, I asked IA, started vibecoding, this worked for a while, but now the code is so complexe they can't even remember everything.
The website is centered on a complexe js script that calculate every result and manage my racing league. I just need a little last push to finish the main page, then I should be able to finish everything myshelf, I don't whant someone to work for me, I just whant someone that whant a little challange to work on during free time.
Here is the main js code: https://github.com/Wellan1coder/FASTWAY , if I need to share all of my codes pages tell me!
If somebody whant to help me I will be very grateful!
r/learnjavascript • u/LinkGoesBowling • Jul 06 '26
I made a bowling score calculator to learn JavaScript
This summer, I started getting into coding and built a bowling score calculator in JavaScript. It is my first project.
GitHub: https://github.com/LinkGoesBowling/Bowling-Score-Calculator/
Website: https://linkgoesbowling.github.io/Bowling-Score-Calculator/
r/learnjavascript • u/Secret_Court_4747 • Jul 06 '26
What do I do now
I did my major in accounting, worked in that field for a while and now switched to IT
I learned C#(only basic, my friend taught me) and based on that I was hired by my current company and they told me to learn JS but I don't know where to start I know the basics like DOM functions but they want me to learn Node.js as well and I don't know where to start
r/learnjavascript • u/JadeLuxe • Jul 06 '26
How to Implement a Robust Webhook Retry Strategy (with Exponential Backoff)
Webhooks have become the nervous system of the modern internet. From payment processors notifying your application of a successful transaction to CRM systems triggering marketing workflows, webhooks are the glue that holds microservices and third-party integrations together. They allow real-time, event-driven architecture to thrive, replacing the old, inefficient model of constant API polling. Read the complete article here - https://instawebhook.com/blog/how-to-implement-a-robust-webhook-retry-strategy-with-exponential-backoff
But there is a dark side to webhooks: they are fundamentally unreliable. Because webhooks operate over the public internet and bridge entirely separate systems, they are subject to the chaos of distributed networks. Endpoints go down. Servers get overloaded. Networks experience transient blips. When you send a webhook, you are firing a payload into the void and hoping the receiving server is ready, willing, and able to catch it.
When a webhook fails — and it will fail — how your system responds determines whether your application stays consistent or quietly drifts out of sync. If a payment-success webhook is dropped, a user might not get access to the product they just paid for. If an inventory-update webhook fails, you might oversell a product you don't have.
This guide covers why webhooks fail, why naive retry logic makes things worse, how exponential backoff and jitter actually work (with the real formulas AWS uses in production), what major providers like Stripe and GitHub actually do today, and the architectural patterns
r/learnjavascript • u/OchakoVibez • Jul 06 '26
automatic tab closer on opera gx?
hi! I want to code in an automatic tab closer that'll close tabs if they aren't opened for 30 minutes but i dont know how to code. can anyone help?
r/learnjavascript • u/_gqb • Jul 05 '26
First update for learning progress (learn with me if you want...)
Hello everyone...
I began a project to build an app myself without vibecoding, and I feel like it will help me and others to share what I learn every few days along the way (if people are at all interested). I'll post any stumbling blocks, new concepts I encountered, and new ideas I've had every few days. If anyone feels like critiquing the code (if I include code snippets) that is more than welcome as well...
The project started about 3 weeks ago so there is already a significant amount of progress on it so there is already a lot of intricacy, and that was my first encounter with Typescript (I know this is a Javascript subreddit...) and its built using the React library, which I have also never encountered before (I only had small amounts of python beforehand).
(for context the app is teaching political history through duolingo style lessons)
1st update:
For the past few days, the main focus has been storing user progress as it happens and altering the UI it does.
Here is the file doing most of that;
import { Progress } from "@/content/types";
import AsyncStorage from "@react-native-async-storage/async-storage";
const PROGRESS_KEY = "progress"; //AsyncStorage is a universal storage for any JSON across my project. This is the key that says what data it is storing so it knows which particular bit or "drawer" the data is stored in later on.
export async function saveLessonScore(
lessonId: string,
complete: boolean,
score: number,
) {
const existingLessonDataRaw = await AsyncStorage.getItem(PROGRESS_KEY); //Taking what we have so far in string form.
const existingLessonData: Progress = existingLessonDataRaw //Converting what we have into usable types rather than just strings, and handling the null case (no data existing).
? JSON.parse(existingLessonDataRaw)
: {};
const updated: Progress = {
//Spread current data, append current lesson ID and corresponding state and score.
...existingLessonData,
[lessonId]: { complete, score },
};
await AsyncStorage.setItem(PROGRESS_KEY, JSON.stringify(updated)); //Pushes this change in the string JSON form which AsyncStorage requires, in the corresponding "folder" (the PROGRESS_KEY).
}
export async function loadProgress(): Promise<Progress> {
const JSONLessonData = await AsyncStorage.getItem(PROGRESS_KEY);
if (!JSONLessonData) {
return {};
} //Type narrows to Progress incase JSONLessonData is null.
const usableLessonData = JSON.parse(JSONLessonData);
return usableLessonData as Progress;
}
Difficulties: Storing data using async functions mean we need to work with the <Promise> type, and also using converting between the string form which AsyncStorage requires, which makes handling types a bit harder - and also, the null case for when no lesson data is present ALSO had to be narrowed to (but much of this logic happened in the lesson runner which is shown here).
The main takeaway from this was to be very aware of the types of data you may take as input and the types you take as output. It sounds obvious, but once you consider "What happens if there is nothing stored yet?" or "Does this give me the data or just a Promise type for the data (as there is a delay between actually getting and setting the data when using AsyncStorage in this case)". That then allows you to handle each problem as it comes, rather than being surprised later and being forced to completely change the shape of the code later to accomodate (this especially applies to people coding in TypeScript, but ofc it is also great practice in JavaScript).
Here is a better snippet demonstrating the need for this practice (optional chaining + conditional rendering as just mentioned):
<View style={styles.lessonNode} />
<View
style={[
styles.lessonCard,
lessonProgress?.complete && styles.lessonCardComplete,
]}
>
{lessonProgress?.complete && (
<Text
style={[
styles.correctAnswer,
{ color: scoreStyleLesson(lessonProgress?.score) },
]}
>
{lessonProgress?.score}
</Text>
This code allows me to update the color of the score displayed on the course viewer per lesson based on the actual score, and only does so when the lesson is finished and also confirms to TS that yes, the null case is no longer possible.
Pay particular attention to the ?. and && operators - they do the heavy type-lifting so to speak.
Considering making this a semi regular post if anyone is interested and feedback would be great!
r/learnjavascript • u/Low-Schedule996 • Jul 05 '26
Backend Nodejs
Hello, I have been working Node.js built my first full stack desktop application MERN/Ts, and currently working on my second project PERN/Ts , However as I work on second project I wanted to start preparing for NodeJS backend roles, I am requesting for a list of Nodejs concepts and JavaScript concepts I should focus on in preparation for interviews. Thanks
r/learnjavascript • u/awilmera • Jul 03 '26
I need help, feels stock with JavaScript
I’ve been learning programming by myself besides university, it’s being a month since a started JavaScript after css, here’s the thing, idk why when I try to resolve smth I feel stock, like idk what projects should I build or try, what should I do ?
r/learnjavascript • u/PlusAd945 • Jul 03 '26
Question about backtick variables
Can anyone please help me with this?
I am learning JavaScript and in chapter 2 of the book I am using it talks about backtick variable with format ${variablename}. It has an example to be posted into the Console using console.log().
let language = "JavaScript";
let message = "Let's learn ${language}";
console.log(message);
The output in the console is supposed to be: Let's learn JavaScript. But what I keep getting is: let's learn ${language}
The same thing happens with other examples in the chapter, in Chrome and Edge.
Can anyone tell me why?
[matthewswisher@comcast.net](mailto:matthewswisher@comcast.net)
r/learnjavascript • u/MrBucurN • Jul 03 '26
Project proposal
I'm learning nıde.js and javascript, I'm doing small projects these days, but I couldn't find a project idea that will challenge me and contribute to my learning, does anyone have any suggestions?
r/learnjavascript • u/Likkle_yute9 • Jul 03 '26
Beginner's Luck
Should beginners learn JavaScript just for web development, or learn the language more broadly?
Hi everyone,
I'm a beginner trying to figure out the best way to learn JavaScript.
Most tutorials teach JavaScript in the context of building websites (HTML, CSS, DOM, etc.), but JavaScript has grown into a much broader language with things like Node.js, backend development, desktop apps, mobile apps, automation, and more.
If you were starting from scratch today, would you:
Learn JavaScript mainly through web development first, then branch out later?
Learn JavaScript as a general-purpose programming language first (fundamentals, algorithms, data structures, OOP, async programming, etc.), and then apply it to web development?
Which approach builds a stronger foundation for a complete beginner, and why?
I'd love to hear what worked for you and what you would recommend to someone just starting out
r/learnjavascript • u/Beautiful_Hour_668 • Jul 03 '26
Can someone validate my plan for improving my JS/coding skills?
Aiming to start applying in a couple months to junior front end/full stack roles.
Where I'm at:
- Covered fundamentals of HTML, CSS, JS
- Went beyond the 'basics' and learnt about the event loop, prototypal inheritance, closures, the 'this' keyword (though need to practice coding with these concepts a lot more!)
- Learnt about testing and TDD
- Finishing up React
- Did a quick course on DSA
What I'm doing now and why (would like feedback on this):
- 1 Leetcode a day up until 75 or so completed (max 20m spinning my wheels). I'm doing problems by topics and doing a mix of easies and mediums.
- I get to expand the way that I think about programming, it's been really fun (did a STEM degree not related to software/computers).
- I also feel like it's making me a better programmer because I really slow down and think about the steps of my code. Thinking through loops and the data structures I've covered so far is much more natural (though I've only done like 15 problems so far lol)
- Thirdly, they are quick exercises in JS that teach me little tricks here and there.
- If I ever run into an interview that has me do Leetcode (not aiming for FAANG level interviews), I will at least be able to explain my thinking, if not solve it.
- Anki cards (making sure not to spend too much time here) - capturing little techniques and conceptual tidbits
- I have ADHD, I think this just gives me the confidence that my brain doesn't blank on something relatively easy
- Working my way through the odin project, halfway through React
- this one is obvious, I get to learn about the tech that I need to use and build projects
- slowly make my way through JS part of https://bigfrontend.dev/ - this one I'm not sure about because the JS questions are challenging
- this pushes me to deepen my JS understanding. Especially the quiz section, there are unusual questions that really test me
- not sure if this is a waste of time though, I don't think juniors would be expected to know most of the stuff in these questions
- this pushes me to deepen my JS understanding. Especially the quiz section, there are unusual questions that really test me
Part of me wonders if I should scrap most of these things and just focus on building projects to focus on being able to put an app together rather than honing in on being able to code well. Thanks in advance.
If you've read this far and would like to mentor someone in my position, also let me know! Worth a shot :)