Destructuring in JavaScript
I build clean and simple web experiences and learn something new every day.
When you work with JavaScript, you deal with data like this all the time:
const user = {
name: "Nausheen",
age: 22,
city: "Delhi"
};
Now suppose you want to use these values.
What do you usually do?
const name = user.name;
const age = user.age;
const city = user.city;
It works. But let’s be honest…
it’s repetitive
it’s boring
and it doesn’t scale well
Now imagine doing this for 10 properties.
That’s where destructuring comes in.
What Does Destructuring Mean?
Simple idea:
Take values out of an object or array
and assign them directly to variables
In one line.
Destructuring Objects
Let’s rewrite the same example.
const user = {
name: "Nausheen",
age: 22,
city: "Delhi"
};
const { name, age, city } = user;
That’s it.
No
user.name
No repetition
Just clean extraction.
What’s happening here?
user object → variables
You’re saying: “Take these keys from the object and give me their values”
Important rule
Variable names must match the object keys.
const { name } = user;
If you write:
const { username } = user;
it won’t work (unless you rename properly, we’ll see later)
Before vs After (This is where it clicks)
Old way:
const name = user.name;
const age = user.age;
Destructuring:
const { name, age } = user;
Less code
More readable
Easier to manage
Destructuring Arrays
Arrays work a bit differently.
const numbers = [10, 20, 30];
Now extract values:
const [a, b, c] = numbers;
Output:
a = 10
b = 20
c = 30
What’s the rule here?
Arrays use position (index)
Not names.
[10, 20, 30]
| | |
a b c
Skip values if needed
const [first, , third] = [1, 2, 3];
second value is skipped
Default Values (Super Useful)
Sometimes data is missing.
const user = {
name: "Nausheen"
};
Now:
const { age } = user;
age = undefined
To fix this:
const { age = 18 } = user;
default value kicks in
Same with arrays
const [a = 5, b = 10] = [1];
a = 1
b = 10
Renaming Variables (Small but Powerful)
Sometimes keys don’t match what you want.
const user = {
name: "Nausheen"
};
You can do this:
const { name: username } = user;
username = "Nausheen"
Why Destructuring Matters
Let’s be real.
Without destructuring:
repetitive code
harder to read
more typing
With destructuring:
cleaner code
faster writing
better readability
Real-World Use Case
Imagine a function:
function showUser(user) {
console.log(user.name);
console.log(user.age);
}
Now with destructuring:
function showUser({ name, age }) {
console.log(name);
console.log(age);
}
cleaner and more direct
Mental Model (Easy Way to Remember)
Object destructuring:
{ name, age } ← object keys
Array destructuring:
[a, b, c] ← positions
Visual Understanding
Object:
{ name: "Nausheen", age: 22 }
↓
name = "Nausheen"
age = 22
Array:
[10, 20, 30]
↓ ↓ ↓
a b c
Small but Important Insight
Destructuring doesn’t create new data.
It just extracts existing data in a cleaner way
Assignment Practice
Try this yourself:
1. Create an object with 3 properties
2. Extract them using destructuring
3. Add default values
4. Rename one variable
5. Destructure an array
Run it. Compare it with the old way. You’ll feel the difference.
Final Understanding
At first, destructuring feels like “extra syntax”
But once you start using it… you realize it removes noise from your code
Instead of writing:
user.name
user.age
user.city
You just write:
const { name, age, city } = user;
Cleaner. Faster. Better.
And that’s what modern JavaScript is all about.

