⚠️ A Common JavaScript Hoisting Myth Many developers say: “JavaScript moves variable and function declarations to the top of the code.” But that’s not actually true. Nothing is physically moved. What really happens is that before the code starts executing, the JavaScript engine runs a memory creation phase where it scans the code and allocates memory for variables and functions. • "var" - initialized with "undefined" • "let" and "const" - created but stay in the Temporal Dead Zone (TDZ) • Functions - their full definition is stored in memory So hoisting is not about moving code, it’s about how the JavaScript engine prepares memory before execution begins. The deeper I go into JavaScript internals, the more interesting it gets.🤓 #JavaScript #BackendDevelopment #NodeJS #SoftwareEngineering #SystemDesign #Programming #LearningInPublic
Amol Raut’s Post
More Relevant Posts
-
🚀 Understanding Hoisting in JavaScript Many developers hear that JavaScript moves variables and functions to the top, but what actually happens behind the scenes? In JavaScript, hoisting occurs during the compilation phase, before the code executes. The JavaScript engine first scans the entire code and allocates memory for variables and functions. This means: • var variables are hoisted and initialized with undefined • let and const are also hoisted but remain in the Temporal Dead Zone (TDZ) until their declaration line is reached • Function declarations are fully hoisted, allowing them to be called before they appear in the code Example: console.log(a); var a = 10; Output: undefined Internally JavaScript treats it like this: var a; console.log(a); a = 10; ⚠️ Important: JavaScript does not physically move code to the top. During compilation the engine simply registers declarations in memory before execution begins. Understanding hoisting helps developers better grasp execution context, scope, and the JavaScript engine's behavior. #JavaScript #WebDevelopment #Frontend #Programming #Coding
To view or add a comment, sign in
-
💻 JavaScript Intermediate – Custom map() Function The map() method is widely used to transform arrays. Here’s how you can implement it manually. 📌 Problem: Apply a function to each element of an array and return a new array. function customMap(arr, callback) { let result = []; for (let i = 0; i < arr.length; i++) { result.push(callback(arr[i])); } return result; } let numbers = [1, 2, 3]; let doubled = customMap(numbers, function(num) { return num * 2; }); console.log(doubled); 📤 Output: [2, 4, 6] 📖 Explanation: • map() creates a new array by applying a function to each element. • Here, we manually implemented the same logic using a loop and callback. 💡 Tip: Understanding this helps you grasp how higher-order functions work in JavaScript. #JavaScript #Coding #WebDevelopment #FrontendDevelopment #LearnToCode #ProgrammingTips
To view or add a comment, sign in
-
-
Most JavaScript developers use map, filter, and reduce daily. 🚀 But ask them the difference — and they freeze. → map transforms every item — same length array, different values → filter keeps only items that pass a condition — shorter array → reduce collapses the whole array into one value — number, object, anything → They can be chained together — filter first, then map, then reduce → map and filter never change the original array → reduce is the most powerful — and the most misused One rule: if you're manually pushing into a new array inside a loop — there's a cleaner way. Which one took you the longest to really understand? 👇 #javascript #webdevelopment #frontend #programming #javascripttips #learnjavascript #100daysofcode #softwareengineering #reactjs #coding
To view or add a comment, sign in
-
💥 JavaScript: Where Logic Goes to Die 🤯 Think you understand JavaScript? These mind-bending quirks might change your mind… ⚡ Ever wondered: 👉 Why 9999999999999999 becomes 10000000000000000? 👉 Why 1 < 2 < 3 is true, but 3 > 2 > 1 is false? 👉 Why [] == false is true but [] === false is false? 🧠 Welcome to the world of: ✔️ Type Coercion ✔️ Floating Point Precision ✔️ Weird Comparisons ✔️ Truthy vs Falsy Values 💡 For example (from page 9): 0.1 + 0.2 === 0.3 → ❌ false Because JavaScript uses floating-point math, resulting in 0.30000000000000004 😂 And the classic: 'b' + 'a' + + 'a' + 'a' → “banana” (sort of 😅) 🚀 These aren’t bugs — they’re how JavaScript actually works! 📌 If you're a developer, mastering these quirks will save you from real-world bugs. 💬 Which one shocked you the most? #JavaScript #WebDevelopment #Coding #JS #Frontend #Programming #Developers #CodingLife
To view or add a comment, sign in
-
💡 JavaScript Tip: slice() vs splice() Many beginners get confused between slice() and splice(). Here’s a simple example to understand the difference. Code 👇 let arr = [1,2,3,4] let a = arr.slice(1,3) let b = arr.splice(1,3) console.log(arr) console.log(a) console.log(b) 🔎 What happens here? • slice() → Creates a new array and does NOT change the original array. • splice() → Changes the original array and returns the removed elements. 📌 Output arr → [1] a → [2,3] b → [2,3,4] Understanding small differences like this helps a lot in JavaScript interviews and real projects. #javascript #webdevelopment #coding #programming #frontenddeveloper #100daysofcode
To view or add a comment, sign in
-
-
🚀 Callback Functions in JavaScript A callback function is a function that is passed as an argument to another function and executed later after a specific task is completed. Callbacks are important in JavaScript because many operations are asynchronous, such as API requests, timers, and event handling. 💡 Example function greet(name, callback) { console.log("Hello " + name); callback(); } function sayBye() { console.log("Goodbye!"); } greet("Amar", sayBye); In this example, sayBye is the callback function that runs after the greet function executes. 📌 Common use cases • Event listeners • API requests • setTimeout and setInterval • Array methods like map, filter, and forEach Callbacks play a fundamental role in handling asynchronous behavior in JavaScript. #JavaScript #WebDevelopment #Programming #FrontendDevelopment #Coding
To view or add a comment, sign in
-
🚀 Learning JavaScript? Start with Strings. Strings are one of the most used things in JavaScript. If you can work with text, you can build forms, messages, search features, and much more. Let’s understand the basics 👇 • Create a string using quotes let name = "JavaScript"; • Find string length name.length • Join strings together "Hello " + "World" • Change text case name.toUpperCase() or name.toLowerCase() • Get part of a string name.substring(0,4) Small concept… but used everywhere in real projects. Master the basics → coding becomes easier. #JavaScript #WebDevelopment #FrontendDevelopment #LearnToCode #ProgrammingBasics #JavaScriptTips #CodingForBeginners #DeveloperCommunity #TechEducation #SoftwareDevelopment
To view or add a comment, sign in
-
-
🚀 JavaScript Array Methods Every Developer Should Know Working with arrays becomes super powerful when you know these methods 👇 map() → transform every element filter() → remove unwanted elements find() → get the first matching element findIndex() → get index of matching element fill() → fill array with a value some() → check if at least one element matches every() → check if all elements match Mastering these will make your JavaScript code **cleaner and more functional.** 💬 Which method do you use the most? Follow for more **JavaScript tips, interview questions, and coding tricks.** #javascript #webdevelopment #coding #frontend #programming
To view or add a comment, sign in
-
-
🚀 Understanding JavaScript Closures One of the most powerful concepts in JavaScript is Closure. A closure happens when a function remembers variables from its outer scope even after the outer function has finished executing. 💡 Why it matters: Closures help developers create private variables, maintain state, and build powerful patterns in JavaScript applications. They are widely used in: ✔ Event handlers ✔ Callbacks ✔ Data encapsulation ✔ Functional programming Mastering closures helps you write clean, maintainable, and scalable JavaScript code. #JavaScript #WebDevelopment #FrontendDevelopment #Programming #Closures #SoftwareDevelopment
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