Hint
Extract values into variables with concise syntax β works in params, assignments, loops
// ββ Array destructuring (position-based) βββββ
const [a, b, c] = [1, 2, 3];
const [first, , third] = [1, 2, 3]; // skip index 1
const [x, ...rest] = [1, 2, 3, 4]; // x=1, rest=[2,3,4]
const [p = 10, q = 20] = [1]; // p=1, q=20 (default)
// ββ Object destructuring (name-based) ββββββββ
const { name, age } = { name: 'Alice', age: 25 };
const { name: userName } = { name: 'Alice' }; // rename to userName
const { city = 'NYC' } = {}; // default if undefined
// ββ Nested ββββββββββββββββββββββββββββββββββββ
const { address: { city: town } } = { address: { city: 'Paris' } };
// town = 'Paris'
// ββ In function parameters ββββββββββββββββββββ
function greet({ name, age = 18, role = 'user' }) {
return `${name} (age:${age}, ${role})`;
}
// ββ Swap variables ββββββββββββββββββββββββββββ
let m = 1, n = 2;
[m, n] = [n, m]; // m=2, n=1
// ββ In loops βββββββββββββββββββββββββββββββββ
for (const [key, value] of Object.entries(obj)) {
console.log(key, value);
}