This project was a fantastic way to dive deeper into Local Storage, ensuring that even after a page refresh, my saved resources stay right where I put them. 🛠️ Key Features: Persistent Storage: Uses localStorage so your data doesn't vanish. Form Validation: Simple logic to ensure URLs are formatted correctly before saving. Dynamic UI: JavaScript handles the DOM manipulation to inject new bookmarks instantly. Clean Design: A responsive, "dark mode" inspired layout for a modern feel. check my GitHub repo: 🔗 https://lnkd.in/gmeiah58 🚀 day2 #100DaysOfCode #WebDevelopment #JavaScript #Frontend #HTML #CSS #Programming #LearningToCode
More Relevant Posts
-
How I Built a Dynamic Recipe Form with Vanilla JS! 🛠️💻 In this part of my Mom’s Recipe project series, I’m breaking down the form submission logic. Handling complex, multi-step data entry in pure JavaScript was a great challenge! What’s happening in this part: 🧩 Dynamic UI: Using JS to add/remove ingredient and instruction fields on the fly. 🖼️ Image Processing: Leveraging the FileReader API to convert uploads into Base64 strings for local storage. 📂 Data Structure: Using the .map() function to organize inputs into a clean JSON object. Building this helped me truly master DOM manipulation and browser storage. Check out the logic in action! 🚀 #Javascript #WebDev #CodingLogic #Frontend #VanillaJS #MomsRecipe #Programming
To view or add a comment, sign in
-
JavaScript Arrow Functions → the modern, concise way to write functions! Classic: function add(a, b) { return a + b; } Arrow style (shorter & sweeter): const add = (a, b) => a + b; Even cooler shortcuts: Single param? Skip parentheses → x => x * 2 No params? Use empty () → () => console.log("Hi!") Multi-line? Add curly braces + return → (x, y) => { return x + y; } Biggest game-changer: lexical this binding No more .bind(this) headaches in callbacks, React handlers, setTimeout, promises, array methods (.map/.filter), etc. Arrow functions inherit this from the surrounding scope — clean & predictable! 🔥 When NOT to use them: Object methods (when you need dynamic this) Constructors (no prototype, can't use new) Arrow functions = cleaner code + fewer bugs in modern JS. Who's team arrow all the way? #JavaScript #ArrowFunctions #ES6 #CodingTips #WebDevelopment #ReactJS #Frontend #Programming #100DaysOfCode #DevCommunity
To view or add a comment, sign in
-
-
🤯 𝐉𝐚𝐯𝐚𝐒𝐜𝐫𝐢𝐩𝐭: 𝐖𝐡𝐞𝐫𝐞 𝐋𝐨𝐠𝐢𝐜 𝐆𝐨𝐞𝐬 𝐭𝐨 𝐃𝐢𝐞 (𝐚𝐧𝐝 𝐖𝐡𝐲) If you’ve ever looked at your console and thought, "That shouldn't be possible," you’re not alone. JavaScript is a language built on "best intentions" that often lead to total logic meltdowns. I’ve put together the attached guide (PDF) breaking down of the most infamous "WTFJS" moments—from why 0.1 + 0.2 isn't 0.3 to how the console can literally yell "banana" at you. 🔍 𝐖𝐡𝐚𝐭’𝐬 𝐚𝐜𝐭𝐮𝐚𝐥𝐥𝐲 𝐡𝐚𝐩𝐩𝐞𝐧𝐢𝐧𝐠 𝐮𝐧𝐝𝐞𝐫 𝐭𝐡𝐞 𝐡𝐨𝐨𝐝? Most of these "bugs" actually follow three very specific (and very weird) rules: • 𝐓𝐲𝐩𝐞 𝐂𝐨𝐞𝐫𝐜𝐢𝐨𝐧 (𝐓𝐡𝐞 𝐒𝐢𝐥𝐞𝐧𝐭 𝐊𝐢𝐥𝐥𝐞𝐫): JavaScript hates throwing errors. If you try to subtract a number from a string, it won't stop you—it will just "guess" what you meant. Sometimes it guesses wrong. • 𝐓𝐡𝐞 𝐈𝐄𝐄𝐄 𝟕𝟓𝟒 𝐒𝐭𝐚𝐧𝐝𝐚𝐫𝐝: JS doesn't store numbers the way humans write them. It uses binary floating-point math. When you deal with large integers or small decimals, you’re seeing the "rounding errors" of the machine. • 𝐓𝐫𝐮𝐭𝐡𝐲 𝐯𝐬. 𝐅𝐚𝐥𝐬𝐲: In JS, an empty array [] is technically "truthy," but when compared to a boolean using ==, the engine performs a series of hidden conversions that defy common sense. 🛡️ 𝐇𝐨𝐰 𝐭𝐨 𝐬𝐭𝐚𝐲 𝐬𝐚𝐧𝐞: • 𝐒𝐭𝐫𝐢𝐜𝐭 𝐄𝐪𝐮𝐚𝐥𝐢𝐭𝐲 (===): Never trust the double equals. • 𝐌𝐚𝐧𝐮𝐚𝐥 𝐂𝐚𝐬𝐭𝐢𝐧𝐠: Don't let JS guess your types; convert them yourself using Number() or String(). • 𝐔𝐬𝐞 𝐁𝐢𝐠𝐈𝐧𝐭: For those massive numbers that keep rounding up. Check out the PDF below for the full breakdown of these logic-defying snippets! Which of these tripped you up the most when you were starting out? Let’s swap horror stories in the comments. 👇 #Javascript #WebDevelopment #Programming #SoftwareEngineering #CodingLife #TechHumor
To view or add a comment, sign in
-
🚨 Most developers get this wrong about the JavaScript Event Loop What do you think this prints? 👇 console.log("Start"); setTimeout(() => console.log("Timeout"), 0); console.log("End"); Many people expect: ❌ Start ❌ Timeout ❌ End But the actual output is: ✅ Start ✅ End ✅ Timeout Why? 🤔 Because JavaScript is single-threaded and uses the Event Loop to handle async tasks. Here’s what really happens behind the scenes: 1️⃣ console.log("Start") → runs immediately in the Call Stack 2️⃣ setTimeout() → moves to Web APIs 3️⃣ console.log("End") → runs next (still synchronous) 4️⃣ Timer finishes → callback goes to Callback Queue 5️⃣ Event Loop pushes it to the Call Stack when it's empty 6️⃣ console.log("Timeout") finally runs 💡 Even setTimeout(..., 0) is never truly instant. If you understand this concept, debugging async JavaScript becomes 10x easier. 💬 Comment “EVENT LOOP” if you want a deeper breakdown with Promises & Microtasks. #javascript #webdevelopment #nodejs #frontend #backend #programming #eventloop #coding
To view or add a comment, sign in
-
-
🚀 Debounce vs Throttle — every JS dev should know the difference Both control how often a function runs, but they solve different problems. ⚡ DEBOUNCE — "Wait, then fire" Delays execution until a burst of events stops. Resets the timer on every new event. function debounce(fn, delay) { let timer; return function(...args) { clearTimeout(timer); timer = setTimeout(() => fn.apply(this, args), delay); }; } ✅ Use for: search inputs, form validation, auto-save 🔁 THROTTLE — "Fire, then wait" Executes at a fixed interval — no matter how many events fire. function throttle(fn, limit) { let inThrottle = false; return function(...args) { if (!inThrottle) { fn.apply(this, args); inThrottle = true; setTimeout(() => inThrottle = false, limit); } }; } ✅ Use for: scroll events, mouse tracking, API rate-limiting 🧠 Key mental model: → Debounce = respond once it's quiet → Throttle = pace yourself, one call per window If missing intermediate updates is fine → debounce If consistent periodic updates matter → throttle Drop a 🔥 if this was helpful! #JavaScript #WebDev #Frontend #JSConcepts #Programming #100DaysOfCode #React #Angular
To view or add a comment, sign in
-
💡 JavaScript Tip: Closures are one of the most powerful — and most misunderstood — concepts in JS. A closure is simply a function that remembers the variables from its outer scope, even after that scope has finished executing. Here's a classic example: function makeCounter() { let count = 0; return function () { count++; return count; }; } const counter = makeCounter(); console.log(counter()); // 1 console.log(counter()); // 2 console.log(counter()); // 3 The inner function has "closed over" the count variable — it keeps it alive and private. Why does this matter in real projects? → Data privacy (no need to expose variables globally) → Factory functions & currying → Event handlers that remember state → Memoization & caching Once you truly understand closures, a lot of JavaScript starts making sense. ♻️ Repost to help someone struggling with JS fundamentals. #JavaScript #WebDevelopment #CleanCode #Frontend #CodingTips
To view or add a comment, sign in
-
Shipping is a habit! 🚀 2 Days, 2 Projects, and a deeper dive into JavaScript. I’ve been heads-down in the #ChaiAurCode journey, and the momentum is real. Over the last 48 hours, I’ve moved from understanding basic logic to shipping functional mini-projects. Project 1: Dynamic List Creator 📝 Focused on mastering the DOM. It’s one thing to see a list on a screen, it’s another to handle real-time user input, state updates, and clean element creation dynamically. 🌐 Try the List Creator: https://lnkd.in/grMrRqMt Project 2: Color Palette Generator 🎨 This one was a technical "Aha!" moment. 🌐 Try the Palette Generator: https://lnkd.in/gCUwyhrc Key takeaways: ➡️ Precision Math: Implementing Math.random() * (max - min) + min to control color tones (Light vs. Dark). ➡️ String Manipulation: Using .padStart(2, "0") to ensure valid Hex codes a small detail that prevents major UI bugs. ➡️ The Backend Loop: I even experimented with running an Express server and frontend logic in a single file to visualize the full Request-Response cycle. Big thanks to my mentors Hitesh Choudhary and Suraj Kumar Jha for the guidance during the T-class sessions! Github repo links - List Creator - https://lnkd.in/gH9hzGY3 Palette Generator - https://lnkd.in/gEAv7NJ4 (I've shared the screen recording for the List Creator in the comments below! 👇) Anirudh J. Akash Kadlag Jay Kadlag Piyush Garg #WebDevelopment #JavaScript #BuildInPublic #FullStackJourney #LearningTogether #Vercel #CodingProgress
To view or add a comment, sign in
-
Why JavaScript feels a bit tricky sometimes, The case of "5" - 1 vs. "5" + 1 JavaScript type coercion: console.log("5" - 1); // 4 ✅ Wait... what? console.log("5" + 1); // "51" 🤯 🤔 Why does subtraction work, but addition behaves differently? "-" converts values to numbers → "5" becomes 5 → result is 4 "+" prefers string concatenation → "5" + "1" becomes "51" 🔥 Bonus examples: console.log("5" * 2); // 10 ✅ console.log("5" / 2); // 2.5 ✅ console.log("5" - "2"); // 3 ✅ console.log("5" + "2"); // "52" ❌ 😄 JavaScript sometimes feels like: “Numbers? Strings? Depends on the situation.” these small concepts really show how important fundamentals are. #JavaScript #WebDevelopment #LearningInPublic #Developers #CodingLife #Students
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development