JavaScript Tip of the Day: Spread & Rest Operators ( … ) The ... (three dots) in JavaScript might look simple — but it’s super powerful! It can expand or collect values depending on how you use it. 🔹 Spread Operator Used to expand arrays or objects. const nums = [1, 2, 3]; const moreNums = [...nums, 4, 5]; console.log(moreNums); // [1, 2, 3, 4, 5] You can also use it for objects: const user = { name: "Venkatesh", role: "Engineer" }; const updatedUser = { ...user, location: "India" }; console.log(updatedUser); 🔹 Rest Operator Used to collect remaining arguments into an array. function sum(...numbers) { return numbers.reduce((a, b) => a + b, 0); } console.log(sum(10, 20, 30)); // 60 You can even use it in destructuring: const [first, ...rest] = [1, 2, 3, 4]; console.log(first); // 1 console.log(rest); // [2, 3, 4] 🔸 In Short: Spread → Expands data Rest → Collects data Same syntax, opposite purpose! 💬 Question for You Which operator do you use more often — Spread or Rest? Drop your answer 👇 and tag a friend learning JS! #JavaScript #Coding #WebDevelopment #LearnToCode #FrontendDevelopment #CodingCommunity #SoftwareEngineering #JavaScriptTips #JSDeveloper #ProgrammingLife #TechLearning #CodeNewbie #WebDevJourney #100DaysOfCode #ES6 #DeveloperCommunity #CodingInPublic #FullStackDeveloper #JSConcepts
JavaScript Tip: Spread & Rest Operators Explained
More Relevant Posts
-
🚀 Deep Clone an Object in JavaScript (the right way!) Most of us have tried this at least once: const clone = JSON.parse(JSON.stringify(obj)); …and then realized it breaks when the object has functions, Dates, Maps, or undefined values 😬 Let’s fix that 👇 ❌ The Problem with JSON.parse(JSON.stringify()) >It’s quick, but it: >Removes functions >Converts Dates into strings >Skips undefined, Infinity, and NaN >Fails for Map, Set, or circular references ✅ Option 1: Use structuredClone() (Modern & Fast) Available in most modern browsers and Node.js (v17+). It can handle Dates, Maps, Sets, and even circular references — no errors, no data loss. const deepCopy = structuredClone(originalObject); Simple, native, and reliable 💪 ✅ Option 2: Write Your Own Recursive Deep Clone Useful for older environments or if you want to understand the logic behind cloning. 💡 Pro Tip: If you’re working with complex or nested data structures, always prefer structuredClone(). It’s the modern, built-in, and safest way to deep clone objects in JavaScript. 🔥 Found this useful? 👉 Follow me for more JavaScript deep dives made simple — one post at a time. #JavaScript #WebDevelopment #FrontendDevelopment #CodingTips #LearnJavaScript #Programming #DeveloperCommunity #WebDev #ES6 #JSDeveloper #JavaScriptTips #JavaScriptObjects #JavaScriptClone #JavaScriptCloneObject
To view or add a comment, sign in
-
🚀 Deep Clone an Object in JavaScript (without using JSON methods!) Ever tried cloning an object with const clone = JSON.parse(JSON.stringify(obj)); and realized it breaks when you have functions, Dates, Maps, or undefined values? 😬 Let’s learn how to deep clone an object the right way - without relying on JSON methods. What’s the problem with JSON.parse(JSON.stringify())? t’s a quick trick, but it: ❌ Removes functions ❌ Converts Date objects to strings ❌ Skips undefined, Infinity, and NaN ❌ Fails for Map, Set, or circular references So, what’s the alternative? ✅ Option 1: Use structuredClone() (Modern & Fast) Available in most modern browsers and Node.js (v17+). structuredClone() handles Dates, Maps, Sets, and circular references like a champ! structuredClone() can successfully clone objects with circular references (where an object directly or indirectly references itself), preventing the TypeError: Converting circular structure to JSON that occurs with JSON.stringify(). ✅ Option 2: Write your own recursive deep clone For learning purposes or environments without structuredClone(). ⚡ Pro Tip: If you’re working with complex data structures (like nested Maps, Sets, or circular references), use: structuredClone() It’s native, fast, and safe. Final Thoughts Deep cloning is one of those "simple but tricky" JavaScript topics. Knowing when and how to do it properly will save you hours of debugging in real-world projects. 🔥 If you found this helpful, 👉 Follow me for more JavaScript deep dives - made simple for developers. Let’s grow together 🚀 #JavaScript #WebDevelopment #FrontendDevelopment #CodingTips #LearnJavaScript #Programming #DeveloperCommunity #AkshayPai #WebDev #ES6 #JSDeveloper #JavaScriptTips #JavaScriptObjects #JavaScriptClone #JavaScriptCloneObject
To view or add a comment, sign in
-
-
🔓 JS Tip: Stop Manually Assigning Object Properties! 🔓 Tired of writing var name = user.name; var email = user.email;? Destructuring lets you "pull apart" objects and arrays and grab just the pieces you need, all in one line. ❌ The Old Way (One by One) js code - var user = { id: 123, name: 'Alex', email: 'alex@example.com' }; var id = user.id; var name = user.name; var email = user.email; --- ✅ The New Way (Destructuring) js code - const user = { id: 123, name: 'Alex', email: 'alex@example.com' }; // "From 'user', get 'id', 'name', and 'email' // and put them in variables with the same name." const { id, name, email } = user; ---- 🔥 Why it's better: It's incredibly clean and efficient, especially with large objects from an API. You declare what data you want, not the tedious steps to get it. It's also perfect for function arguments and React props. 👉 View My New Services - https://lnkd.in/g5UaKeTc 🎇 Do you want more tips like this? Do follow and write "Yes" in the comment box. #javascriptTips #JavaScript #JSTips #ES6 #Developer #Programming #WebDev #ReactJS #NodeJS #Coding #TechTips #WebDeveloper #MdRedoyKayser #Webxpanda #WordPress
To view or add a comment, sign in
-
-
🧩 SK – Flatten a Nested Array in JavaScript 💡 Explanation (Clear + Concise) A nested array contains other arrays inside it. Flattening means converting it into a single-level array — an essential skill for data manipulation in React, especially when handling API responses or nested JSON data. 🧩 Real-World Example (Code Snippet) // 🧱 Example: Nested array const arr = [1, [2, [3, [4]]]]; // ⚙️ ES6 Method – flat() const flatArr = arr.flat(3); console.log(flatArr); // [1, 2, 3, 4] // 🧠 Custom Recursive Function function flattenArray(input) { return input.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenArray(val)) : acc.concat(val), [] ); } console.log(flattenArray(arr)); // [1, 2, 3, 4] ✅ Why It Matters in React: When API data comes nested, flattening simplifies mapping through UI. Helps manage deeply nested state objects effectively. 💬 Question: Have you ever had to handle deeply nested data structures in your React apps? 📌 Follow Sasikumar S for more daily dev reflections, real-world coding insights & React mastery. 🤝 Connect Now: sasiias2024@gmail.com 💟 Visit: sk-techland.web.app ❤️ Follow our LinkedIn Page for more React & JavaScript growth tips. #JavaScript #ReactJS #ES6 #WebDevelopment #FrontendDeveloper #FlattenArray #JSFundamentals #CodingJourney #CareerGrowth
To view or add a comment, sign in
-
-
Can we have a boolean index signature in TypeScript? 🤔 In #javascript we can use any data to index object properties, but in reality the object will have only string keys, as the keys will be serialized. 💡 #typescript reflects this fact - it will display an error, when we use boolean, Date, Array or other values as an object property key. The exception is the number type, for which the compiler recognizes an index signature. This supports the array semantics, where we access properties sequentially, so we can do arr[i++] instead of arr[`${i++}`]. 👍 So what if we want to use the boolean values as object keys without typescript stopping us? I've explored this problem, not as a practical one, but as a type challenge. As it turns out the TypeScript mapped types and template literals are powerful enough to get this done. ⚡ Read more: https://lnkd.in/evxDp3Re
To view or add a comment, sign in
-
💛 𝗗𝗮𝘆 𝟯 — 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁: 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝘀 𝗮𝗻𝗱 𝗖𝗹𝗼𝘀𝘂𝗿𝗲𝘀 Today’s focus was one of the most powerful and favorite topics in JavaScript — 𝗖𝗹𝗼𝘀𝘂𝗿𝗲𝘀 🔁 💡 𝗖𝗼𝗻𝗰𝗲𝗽𝘁: A closure gives a function access to its outer scope even after the outer function has finished execution. This enables data encapsulation, function factories, and state preservation. 💻 𝗘𝘅𝗮𝗺𝗽𝗹𝗲 𝟭 — 𝗕𝗮𝘀𝗶𝗰 𝗖𝗹𝗼𝘀𝘂𝗿𝗲: function outer() { let count = 0; return function inner() { count++; console.log("Count:", count); }; } const counter = outer(); counter(); // Count: 1 counter(); // Count: 2 🧠 Here, inner() remembers the variable count from outer() even after it’s done — that’s closure in action! 💻 𝗘𝘅𝗮𝗺𝗽𝗹𝗲 𝟮 — 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗮𝗹 𝗨𝘀𝗲: Closures power concepts like private variables: function createUser(name) { return { getName: function () { return name; }, }; } const user = createUser("Ravi"); console.log(user.getName()); // Ravi 🧠 𝗞𝗲𝘆 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴𝘀: ✅ Inner functions retain references to outer scope variables. ✅ Closures are the backbone of callbacks, event handlers, and functional programming. ✅ Used in frameworks like React (hooks rely on closure principles). 🔥 𝗧𝗮𝗸𝗲𝗮𝘄𝗮𝘆: Closures aren’t magic — they’re just functions remembering where they came from. #JavaScript #Closures #Functions #FrontendDevelopment #100DaysOfCode #LearningEveryday
To view or add a comment, sign in
-
How JavaScript Handles Memory Every program needs memory to store data, and JavaScript is no different. When you declare variables, objects, or functions, JS allocates memory for them in two main areas: the Stack and the Heap. #Stack: Used for primitive values (like numbers, strings, booleans) and function calls. It’s fast and simple — data is stored and removed in a Last-In-First-Out (LIFO) order. #Heap: Used for objects, arrays, and functions — anything that can grow in size or be referenced. It’s more flexible but slower because data is stored dynamically and accessed through references. Here’s a quick example 👇 let a = 10; // stored in Stack let b = { name: "Ali" }; // stored in Heap let c = b; // c points to same Heap reference c.name = "Akmad"; console.log(b.name); // "Ahmad" — both point to same object Here, both b and c point to the same memory in the Heap, which is why updating one affects the other. Understanding this helps prevent reference-related bugs. Now comes the smart part — Garbage Collection 🧹. JavaScript automatically frees up memory that’s no longer accessible. This is managed by an algorithm called Mark and Sweep, which “marks” objects still reachable from the global scope and removes the rest. But be careful — if you accidentally keep references alive (like global variables or event listeners), JS can’t clean them up. That’s how memory leaks happen. In short, memory management in JS is mostly automatic, but understanding it helps you write efficient code. You’ll learn to manage references better, avoid leaks, and appreciate just how elegantly JavaScript balances power and simplicity. #JavaScript #MemoryManagement #WebDevelopment #MERNStack #NodeJS #ReactJS #Frontend #CodingCommunity #LearnInPublic #100DaysOfCode #DeveloperJourney
To view or add a comment, sign in
-
🫢 Ever wondered what happens behind the scenes when you reassign a value in JavaScript? 🤔 👉 When you update a primitive data type (like string, number, boolean, undefined, null, symbol, or bigint), you’re not actually changing the existing value. 👉 Instead, JavaScript silently creates a new value in memory and points your variable to it. 🎯 👉 It’s like getting a brand-new notebook instead of erasing the old one — the old still exists, but you’ve just started fresh. 📒 ✨ So, while it looks like you’re modifying the value, you’re actually reassigning a new memory reference every time. 🌠 As they say, “Appearances can be deceiving.” 😉 The value seems to change, but deep down, it never truly does! 💡 In short: We often know that strings are immutable, but here’s the twist — all primitive data types are immutable in JavaScript! 🔥 💬 Idiom: “Appearances can be deceiving.” — Things may not be as they seem; something that looks one way on the surface may actually be very different underneath. #JavaScript #CodingTips #Programming #TechInsights #LearnToCode #DeveloperLife #FrontendDevelopment #CodeWisdom #ProfessionalLearning #CareerGrowth #JS #WebDevelopment
To view or add a comment, sign in
-
-
🔓 JS Tip: Stop Manually Assigning Object Properties! 🔓 Tired of writing var name = user.name; var email = user.email;? Destructuring lets you "pull apart" objects and arrays and grab just the pieces you need, all in one line. ❌ The Old Way (One by One) js code - var user = { id: 123, name: 'Alex', email: 'alex@example.com' }; var id = user.id; var name = user.name; var email = user.email; --- ✅ The New Way (Destructuring) js code - const user = { id: 123, name: 'Alex', email: 'alex@example.com' }; // "From 'user', get 'id', 'name', and 'email' // and put them in variables with the same name." const { id, name, email } = user; ---- 🔥 Why it's better: It's incredibly clean and efficient, especially with large objects from an API. You declare what data you want, not the tedious steps to get it. It's also perfect for function arguments and React props. 👉 View Our Services - www.webxpanda.com 🎇 Do you want more tips like this? Do follow and write "Yes" in the comment box. #javascriptTips #JavaScript #JSTips #ES6 #Developer #Programming #WebDev #ReactJS #NodeJS #Coding #TechTips #WebDeveloper #MdRedoyKayser #Webxpanda #WordPress
To view or add a comment, sign in
-
-
🔓 JS Tip: Stop Manually Assigning Object Properties! 🔓 Tired of writing var name = user.name; var email = user.email;? Destructuring lets you "pull apart" objects and arrays and grab just the pieces you need, all in one line. ❌ The Old Way (One by One) js code - var user = { id: 123, name: 'Alex', email: 'alex@example.com' }; var id = user.id; var name = user.name; var email = user.email; --- ✅ The New Way (Destructuring) js code - const user = { id: 123, name: 'Alex', email: 'alex@example.com' }; // "From 'user', get 'id', 'name', and 'email' // and put them in variables with the same name." const { id, name, email } = user; ---- 🔥 Why it's better: It's incredibly clean and efficient, especially with large objects from an API. You declare what data you want, not the tedious steps to get it. It's also perfect for function arguments and React props. 👉 View Our Services - www.webxpanda.com 🎇 Do you want more tips like this? Do follow and write "Yes" in the comment box. #javascriptTips #JavaScript #JSTips #ES6 #Developer #Programming #WebDev #ReactJS #NodeJS #Coding #TechTips #WebDeveloper #MdRedoyKayser #Webxpanda #WordPress
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