💡 JavaScript Interview Trap — Can You Predict the Output? for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 1000); } 🤔 What do you think this will print? Most developers expect: 👉 0 1 2 3 4 But the actual output is: 👉 5 5 5 5 5 🚨 Why does this happen? Because: var is function-scoped, not block-scoped By the time setTimeout runs, the loop has already completed So i becomes 5 for all executions 🧠 Fix it using let (block scope): for (let i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 1000); } ✅ Output: 👉 0 1 2 3 4 🔥 Key Takeaways: Understand var vs let scope Know how closures work Be careful with async functions inside loops 📌 This is one of the most common JavaScript interview questions! #JavaScript #WebDevelopment #CodingInterview #Frontend #AsyncJavaScript #LearnToCode
JavaScript Interview Trap: var vs let Scope
More Relevant Posts
-
Most Asked JavaScript Interview Question: Flatten a Nested Array (Without Using .flat()) There are two common ways to flatten an array in JavaScript: 1️⃣ Using the built-in .flat() method 2️⃣ Using recursion (important for interviews) Using Recursion let arr = [[1, 2, 3, 4, 1, 2], 3, 4, [3, 1], 3, 4, 5]; let flat = []; function flatArrayFunc(arr, flat) { for (let i = 0; i < arr.length; i++) { if (Array.isArray(arr[i])) { flatArrayFunc(arr[i], flat); } else { flat.push(arr[i]); } } } flatArrayFunc(arr, flat); console.log(flat); #JavaScript #CodingInterview #FrontendDeveloper #WebDevelopment
To view or add a comment, sign in
-
🚫 Think you know JavaScript? Try answering these 👇 💡 50 questions that separate beginners from pros 📉 Most developers fail here in interviews 🚀 Crack any JS interview after mastering these Top 50 JavaScript Interview Questions & Answers ⚡🔥 | Crack Frontend Interviews Easily Preparing for a JavaScript interview? This is your ultimate checklist ✅ These questions are frequently asked in frontend, full-stack, and product-based companies. 💡 Covers: ✔ Core JavaScript Concepts ✔ Closures, Hoisting, Scope ✔ Async Programming ✔ Arrays & Objects ✔ ES6+ Features ✔ Real Interview Scenarios 📚 Top 50 JavaScript Interview Questions 🔹 Basics & Core Concepts What is JavaScript? Difference between var, let, and const What is hoisting? What is scope in JS? What is a closure? Difference between == and === What are data types in JS? What is NaN? What is undefined vs null? What is type coercion? 💬 How many can you answer without Googling? 📌 Save this for your next interview 🔁 Share with your developer network 🔗 Social Links 📸 Instagram: https://lnkd.in/gW2PeGEp 🎥 YouTube: https://lnkd.in/gEB2UqRB #JavaScript #FrontendDeveloper #WebDevelopment #CodingInterview #Programming #Developers #TechJobs #LearnJavaScript #CodingTips #FullStackDeveloper #SoftwareEngineer #TechCareer #InterviewPrep #ES6 #DeveloperLife#CodeWithIndu
To view or add a comment, sign in
-
Recently in an interview, I was asked about the JavaScript Event Loop… I thought I knew it — but explaining it clearly was harder than expected. So I created this diagram to understand it properly 👇 • Understanding JavaScript Event Loop (Simple Explanation) ° JavaScript Engine JavaScript runs on a single thread. It uses: • Memory Heap → to store data • Call Stack → to execute code 📞 Call Stack All synchronous code runs here. Functions are pushed and popped one by one. 🌐 Web APIs (Browser / Node.js) Async operations are handled outside the JS engine: • setTimeout / setInterval • fetch API • DOM events These APIs run in the background. 📥 Queues Once async work is done, callbacks go into queues: 👉 Microtask Queue (High Priority) • Promise.then() • async/await 👉 Task Queue (Low Priority) • setTimeout • setInterval • DOM events 🔁 Event Loop (Most Important Part) The event loop keeps checking: Is Call Stack empty? Execute ALL Microtasks Then execute ONE Task from Task Queue That’s why Promises run before setTimeout! One Line Summary: JavaScript uses Call Stack + Web APIs + Queues + Event Loop to handle async code without blocking execution. This is one of the most common interview questions — but also one of the most misunderstood. If you can explain this clearly, you’re already ahead of many developers. #JavaScript #EventLoop #AsyncJavaScript #WebDevelopment #NodeJS #Frontend #Programming #Interview
To view or add a comment, sign in
-
-
🚀 𝗖𝗹𝗼𝘀𝘂𝗿𝗲𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 — 𝗢𝗻𝗲 𝗼𝗳 𝘁𝗵𝗲 𝗠𝗼𝘀𝘁 𝗔𝘀𝗸𝗲𝗱 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀! If you’ve ever prepared for a JavaScript interview, you’ve definitely come across closures. But do you truly understand them? In simple terms: A closure is when a function “remembers” the variables from its outer scope even after that outer function has finished executing. 𝗪𝗵𝘆 𝗶𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄𝗲𝗿𝘀 𝗹𝗼𝘃𝗲 𝘁𝗵𝗶𝘀 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻? Because it tests your understanding of: • Scope • Lexical environment • Memory behavior in JavaScript Quick Example: function outer() { let count = 0; return function inner() { count++; console.log(count); }; } const counter = outer(); counter(); // 1 counter(); // 2 Here, inner() still has access to count even after outer() is executed — that’s a closure! 🔥 𝗥𝗲𝗮𝗹-𝗪𝗼𝗿𝗹𝗱 𝗨𝘀𝗲 𝗖𝗮𝘀𝗲𝘀 • Data privacy (encapsulation) • Creating counters & stateful functions • Event handlers & callbacks • Memoization & performance optimizations 💬 If you’re preparing for interviews, don’t just memorize definitions — understand how closures work under the hood. #frontend #javascript #reactjs #nextjs #community
To view or add a comment, sign in
-
JavaScript Interview Questions – Part 1 (Must Know for Developers!) I’ve compiled a powerful set of JavaScript concepts & interview questions that every developer should master 💡 From basics to advanced topics, this covers: -- Difference between undefined vs null -- Deep understanding of DOM & DOM Manipulation -- Event Propagation (Capturing, Target, Bubbling) -- == vs === (Most asked interview question!) -- Hoisting & Execution Context -- Closures (with real examples) -- this keyword behavior (Tricky but important!) -- Higher Order Functions & Callbacks -- Custom implementations of map, filter, reduce -- Async JavaScript (Callbacks, Promises, Async/Await) 📘 This is not just theory — it includes practical examples, edge cases, and interview-focused explanations. 💬 Whether you're preparing for interviews or strengthening your fundamentals, this will help you level up your JavaScript game. 🔥 I’ll be sharing more parts soon on WhatApp Group (https://lnkd.in/dFyqKJU3) — stay tuned! 👉 Let me know in the comments: Which JavaScript topic do you find the most confusing? #JavaScript #WebDevelopment #Frontend #Programming #Coding #InterviewPrep #Developers #LearnToCode #Tech #SoftwareEngineering #MohitDecodes
To view or add a comment, sign in
-
One of the most common JavaScript interview questions: "Why does setTimeout with 0ms delay not run immediately?" Most developers cannot answer this correctly. Here is the full explanation: JavaScript is single-threaded. It can only do one thing at a time. The Event Loop is how it manages everything else. The execution order is always the same: 1 — Synchronous code runs first All regular code on the Call Stack executes immediately. 2 — Microtasks run second Promises, async/await — these run before anything else once the Call Stack is empty. 3 — Macrotasks run last setTimeout, setInterval, DOM events — these wait until ALL microtasks are done. This is why setTimeout with 0ms still runs after a Promise. The Promise is a microtask. setTimeout is a macrotask. Microtasks always win. Understanding this prevents real bugs in production — async state updates, race conditions, unexpected render order. Save this post for your next async debugging session. Have you ever been confused by JavaScript async order? Drop a comment below. #JavaScript #WebDevelopment #Frontend #SoftwareEngineering #AsyncJavaScript
To view or add a comment, sign in
-
-
🚀 JavaScript Interview Question: Functions Today in my mock interview, I was asked: 👉 What is a function in JavaScript? 👉 How many types of functions are there? 👉 What is the syntax? ✅ What is a Function? A function in JavaScript is a reusable block of code designed to perform a specific task. It helps avoid repetition and makes code modular and organized. 📌 Types of Functions in JavaScript Function Declaration function greet() { console.log("Hello World"); } Function Expression const greet = function() { console.log("Hello World"); }; Arrow Function (ES6) const greet = () => { console.log("Hello World"); }; IIFE (Immediately Invoked Function Expression) (function() { console.log("Hello World"); })(); 💡 Why functions are important? ✔ Code reusability ✔ Better organization ✔ Easy debugging ✔ Cleaner and scalable code 📚 I’m currently learning JavaScript and improving my frontend development skills step by step. #JavaScript #FrontendDevelopment #ReactJS #WebDevelopment #MERNStack #LearningInPublic
To view or add a comment, sign in
-
JavaScript interview questions I see being asked again and again Although these are basics, they are often overlooked while preparing for more complex topics. These are some of the most commonly asked JavaScript questions across interviews, especially when the focus is on fundamentals and real-world understanding. 1. What is the event loop in JavaScript? 2. What is the difference between "var", "let", and "const"? 3. What is closure and how is it used? 4. What is hoisting in JavaScript? 5. What is the difference between "==" and "==="? 6. What are promises and how do they work? 7. What is the difference between synchronous and asynchronous code? 8. What is "this" in JavaScript and how does it behave? 9. What is the difference between "map", "filter", and "reduce"? 10. What is prototypal inheritance? 11. What are higher-order functions? 12. What is debouncing and throttling? 13. What is the difference between "null" and "undefined"? 14. What is the difference between "call", "apply", and "bind"? 15. What is a polyfill? Can you write a polyfill for "bind"? 16. What is the difference between shallow copy and deep copy? 17. What is event delegation? 18. How does "setTimeout" work under the hood? 19. What is the difference between "setTimeout" and "setImmediate"? 20. What are microtasks and macrotasks? 21. What is currying in JavaScript? 22. What is memoization? 23. What is the difference between "Object.freeze" and "Object.seal"? 24. How does garbage collection work in JavaScript? Strong fundamentals in JavaScript often make a noticeable difference in how you approach real-world problems. Which of these do you find most interesting or tricky? #javaScript #webdevelopment #programming #softwareengineering #InterviewPrep #interview
To view or add a comment, sign in
-
JavaScript interview questions I see being asked again and again Although these are basics, they are often overlooked while preparing for more complex topics. These are some of the most commonly asked JavaScript questions across interviews, especially when the focus is on fundamentals and real-world understanding. 1. What is the event loop in JavaScript? 2. What is the difference between "var", "let", and "const"? 3. What is closure and how is it used? 4. What is hoisting in JavaScript? 5. What is the difference between "==" and "==="? 6. What are promises and how do they work? 7. What is the difference between synchronous and asynchronous code? 8. What is "this" in JavaScript and how does it behave? 9. What is the difference between "map", "filter", and "reduce"? 10. What is prototypal inheritance? 11. What are higher-order functions? 12. What is debouncing and throttling? 13. What is the difference between "null" and "undefined"? 14. What is the difference between "call", "apply", and "bind"? 15. What is a polyfill? Can you write a polyfill for "bind"? 16. What is the difference between shallow copy and deep copy? 17. What is event delegation? 18. How does "setTimeout" work under the hood? 19. What is the difference between "setTimeout" and "setImmediate"? 20. What are microtasks and macrotasks? 21. What is currying in JavaScript? 22. What is memoization? 23. What is the difference between "Object.freeze" and "Object.seal"? 24. How does garbage collection work in JavaScript? Strong fundamentals in JavaScript often make a noticeable difference in how you approach real-world problems. Which of these do you find most interesting or tricky? #javaScript #webdevelopment #programming #softwareengineering #InterviewPrep #interview
To view or add a comment, sign in
-
🚀 𝗖𝗹𝗼𝘀𝘂𝗿𝗲𝘀 𝗶𝗻 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 — 𝗢𝗻𝗲 𝗼𝗳 𝘁𝗵𝗲 𝗠𝗼𝘀𝘁 𝗔𝘀𝗸𝗲𝗱 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀! If you’ve ever prepared for a JavaScript interview, you’ve definitely come across closures. But do you truly understand them? In simple terms: A closure is when a function “remembers” the variables from its outer scope even after that outer function has finished executing. 𝗪𝗵𝘆 𝗶𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄𝗲𝗿𝘀 𝗹𝗼𝘃𝗲 𝘁𝗵𝗶𝘀 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻? Because it tests your understanding of: • Scope • Lexical environment • Memory behavior in JavaScript Quick Example: function outer() { let count = 0; return function inner() { count++; console.log(count); }; } const counter = outer(); counter(); // 1 counter(); // 2 Here, inner() still has access to count even after outer() is executed — that’s a closure! Checkout the full video here: 👉https://lnkd.in/gBkyP54r Follow Alpna P. for more related content! 🤔 Having Doubts in technical journey? 🚀 Book 1:1 session with me : https://lnkd.in/gQfXYuQm 🚀IG: https://lnkd.in/gTQhjM_5 🚀 Get Complete React JS Interview Q&A Here: https://lnkd.in/d5Y2ku23 🚀 Get Complete JavaScript Interview Q&A Here: https://lnkd.in/d8umA-53 #JavaScript #Closures #WebDevelopment #Frontend #CodingInterview #LearnToCode #Developers #CodeWithAlpana Gaurav Patel
To view or add a comment, sign in
Explore related topics
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
Another question :- how would you do this without changing var into let? Answer:- by enclosing setTimeout into IIFE.