📦
ES6+ Features

Destructuring

Array & Object Unpacking
💡 Destructuring ek gift box kholkar seedha items ko unke naam se nikalna hai — box khud alag se hold karne ke bajaye, "isse pen chahiye, isse pencil" seedha bol dena, ek line mein.

Array destructuring: const [a, b] = array — position ke hisaab se unpack. Object destructuring: const {name, age} = object — PROPERTY NAME ke hisaab se unpack (order matter nahi karta). Dono function parameters mein bhi directly use ho sakte hain.

// Array destructuring:
const [first, second] = ["Aarav", "Riya"];

// Object destructuring:
const { name, age } = { name: "Aarav", age: 20 };
console.log(name, age);   // "Aarav" 20

// Renaming while destructuring:
const { name: userName } = { name: "Aarav" };
console.log(userName);   // "Aarav" (naya naam)

// Default values:
const { city = "Unknown" } = { name: "Aarav" };
console.log(city);   // "Unknown" (city thi hi nahi object mein)

// Function parameters mein directly:
function greet({ name, age }) {
  return "Hello " + name + ", age " + age;
}
greet({ name: "Riya", age: 22 });
📦
Destructuring ek gift box kholkar seedha items ko unke naam se nikalna hai — box khud alag se hold karne ke bajaye, "isse pen chahiye, isse pencil" seedha bol dena, ek line mein.
1 / 6
⚡ झट से Recap
  • Array: [a, b] = arr (position-based), Object: {x, y} = obj (name-based)
  • Renaming: {name: userName}, Default: {city = "Unknown"}
  • Function parameters mein directly destructure kar sakte ho
इस page में (2 subtopics)

Destructuring nested objects/arrays ke andar bhi kaam karta hai — deeply nested data se seedha specific values nikal sakte ho, ek line mein.

const user = {
  name: "Aarav",
  address: { city: "Mumbai", pincode: "400001" }
};

const { name, address: { city } } = user;
console.log(name, city);   // "Aarav" "Mumbai"
// Note: 'address' khud variable nahi bana, sirf 'city' nikla usse
💡Tip: Nested destructuring bahut deep ho jaaye to readability kharab hoti hai — 2-3 levels tak theek hai, usse zyada nested ho to normal dot-access likhna better hai.

Array destructuring se do variables SWAP kar sakte ho bina temp variable ke — Python jaisa hi clean pattern.

let a = 1, b = 2;
[a, b] = [b, a];
console.log(a, b);   // 2 1 — swapped!
💡Tip: Ye pattern especially sorting algorithms (bubble sort jaisa) likhte waqt bahut handy hai — temp variable manually manage karne ki zaroorat nahi.