KoderSolution Logo
HomeArticlesTutorialsForumAI LabRun Code
KoderSolution Logo

The world’s most advanced technical ecosystem for modern software engineers. Learn, build, and grow with next-generation developer tools and resources.

Engineering Newsletter

Join 100,000+ engineers receiving curated high-signal content weekly.

Platforms

  • Technical Articles
  • Interactive Tutorials
  • AI Coding Lab
  • Developer Forum
  • Developer Tools

Pages

  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Disclaimer
  • Advertisement

Popular Topics

  • PHP
  • Laravel
  • Python
  • React.Js
  • MySQL
© 2026 KoderSolutionAll Rights Reserved
Developed Bymaksudur.dev
⚡

JavaScript

Topic Hub & Articles

JS Introduction

10 min

JS Where To

10 min

JS Output

10 min

Recap Quiz

5 Questions

JS Statements

10 min

JS Syntax

10 min

JS Comments

10 min

Recap Quiz

5 Questions

JS Variables

10 min

JS Let

10 min

JS Const

10 min

Recap Quiz

5 Questions

JS Operators

10 min

JS Arithmetic

10 min

JS Assignment

10 min

Recap Quiz

5 Questions

JS Data Types

10 min

JS Functions

10 min

JS Objects

10 min

Recap Quiz

5 Questions

JS Events

10 min

JS Strings

10 min

JS String Methods

10 min

Recap Quiz

5 Questions

JS String Search

10 min

JS String Templates

10 min

JS Numbers

10 min

Recap Quiz

5 Questions

JS Number Methods

10 min

JS BigInt

10 min

JS Arrays

10 min

Recap Quiz

5 Questions

JS Array Methods

10 min

JS Array Search

10 min

JS Array Sort

10 min

Recap Quiz

5 Questions

JS Array Iteration

10 min

JS Array Const

10 min

JS Dates

10 min

Recap Quiz

5 Questions

JS Date Formats

10 min

JS Date Get Methods

10 min

JS Date Set Methods

10 min

Recap Quiz

5 Questions

JS Math

10 min

JS Random

10 min

JS Booleans

10 min

Recap Quiz

5 Questions

JS Comparisons

10 min

JS If Else

10 min

JS Switch

10 min

Recap Quiz

5 Questions

JS Loop For

10 min

JS Loop For In

10 min

JS Loop For Of

10 min

Recap Quiz

5 Questions

JS Loop While

10 min

JS Break

10 min

JS Iterables

10 min

Recap Quiz

5 Questions

JS Sets

10 min

JS Maps

10 min

JS TypeOf

10 min

Recap Quiz

5 Questions

JS Type Conversion

10 min

JS Destructuring

10 min

JS Bitwise

10 min

Recap Quiz

5 Questions

JS RegExp

10 min

JS Errors

10 min

JS Scope

10 min

Recap Quiz

5 Questions

JS Hoisting

10 min

JS Strict Mode

10 min

JS This Keyword

10 min

Recap Quiz

5 Questions

JS Arrow Function

10 min

JS Classes

10 min

JS Modules

10 min

Recap Quiz

5 Questions

JS JSON

10 min

JS Debugging

10 min

JS Best Practices

10 min

Recap Quiz

5 Questions

JS Common Mistakes

10 min

JS Performance

10 min

JS Reserved Words

10 min

Recap Quiz

5 Questions

DOM Intro

10 min

DOM Methods

10 min

DOM Document

10 min

Recap Quiz

5 Questions

DOM Elements

10 min

DOM HTML

10 min

DOM Forms

10 min

Recap Quiz

5 Questions

DOM CSS

10 min

DOM Animation

10 min

DOM Events

10 min

Recap Quiz

5 Questions

DOM Event Listener

10 min

DOM Navigation

10 min

DOM Nodes

10 min

Recap Quiz

5 Questions

DOM Collections

10 min

DOM Node List

10 min

JS Window

10 min

JS Screen

10 min

JS Location

10 min

Recap Quiz

5 Questions

JS History

10 min

JS Navigator

10 min

JS Popup Alert

10 min

Recap Quiz

5 Questions

JS Timing

10 min

JS Cookies

10 min

JS Callbacks

10 min

JS Asynchronous

10 min

JS Promises

10 min

Recap Quiz

5 Questions

JS Async/Await

10 min

Progress
0%

0 / 92 Lessons

JavaScriptJS Tutorial
Lesson

JS Destructuring

10 min reading
Free Course

JavaScript Destructuring: Object & Array Unpacking

Destructuring assignment (introduced in ES6) provides a concise syntax to unpack values from arrays or properties from objects directly into distinct variables.

Destructuring Patterns Architecture

flowchart TD
    Destruct["Destructuring Syntax"] --> ObjDest["Object Destructuring: const { name, age = 18 } = user;"]
    Destruct --> ArrDest["Array Destructuring: const [first, second, ...rest] = list;"]

Destructuring Features Reference

Pattern Code Example Explanation
Object Property Renaming const { a: newA } = obj; Binds property a to local variable newA.
Default Fallback Values const { role = "guest" } = obj; Uses "guest" if property is undefined.
Array Skipping const [a, , c] = array; Skips second element using empty comma slot.
Rest Gathering const [head, ...tail] = list; Gathers remaining elements into tail array.
Function Parameter Unpacking function show({ id, title }) {} Unpacks target properties directly in function parameter list.

Practical Code Example

// Demonstrating Object, Array, and Function Parameter Destructuring

// 1. Object Destructuring with Renaming and Defaults
const developer = {
  id: 101,
  username: "maksudur_dev",
  details: { email: "[email protected]", location: "Dhaka" }
};

const { 
  username: handle, // Rename username to handle
  details: { email }, // Nested object destructuring
  status = "Active" // Default fallback value
} = developer;

console.log(`Handle: ${handle}, Email: ${email}, Status: ${status}`);

// 2. Array Destructuring with Rest Gathering
const coordinates = [23.8103, 90.4125, 10.5]; // [Lat, Lng, Elevation]
const [latitude, longitude, elevation = 0] = coordinates;
console.log(`Lat: ${latitude}, Lng: ${longitude}, Elev: ${elevation}`);

// 3. Swapping Variables without Temporary Variables
let x = 1, y = 2;
[x, y] = [y, x];
console.log(`Swapped: x=${x}, y=${y}`); // x=2, y=1

// 4. Function Parameter Destructuring
function renderUserProfile({ id, username }) {
  console.log(`Rendering Card for #${id}: ${username}`);
}
renderUserProfile(developer);

Best Practices & Gotchas

  • Destructuring null or undefined Throws TypeError: const { x } = null; throws TypeError: Cannot destructure property of null. Provide default empty objects ({ x } = obj || {}).
  • Use Default Parameter Objects in Functions: Write function configure({ host = "localhost", port = 8080 } = {}) so the function can be called with zero arguments configure().
  • Keep Nested Destructuring Shallow: Avoid deep nested destructuring (const { a: { b: { c: { d } } } } = data), as it degrades readability.

Self-Check Challenge

Unpack the first and third items of const colors = ["red", "green", "blue"] into variables primary and tertiary.

Save Your Progress

Unlock Your
Full Potential.

Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.

Quick Access With

Enterprise-Grade Security Protocol

Recommended Courses & Books

Try it Yourself

Experiment with the code from this lesson in our interactive playground.

Open Playground

Stuck on this lesson?

Join our community of senior developers.

Ask in Forum