bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/JavaScript/JavaScript Foundations
JavaScript•JavaScript Foundations

JavaScript Destructuring

Destructuring Assignment Syntax

The destructuring assignment syntax can unpack objects into variables:

let {firstName, lastName} = person;

Object Destructuring

Example

// Create an Object
const person = {
  firstName: "John", lastName: "Doe", age: 50
};
// Destructuring
let {firstName, lastName} = person;

The order of the properties does not matter:

Example

// Create an Object
const person = {
  firstName: "John", lastName: "Doe", age: 50
};
// Destructuring
let {lastName, firstName} = person;

Destructuring is not destructive.

Destructuring does not change the original object.

Object Default Values

For potentially missing properties we can set default values:

Example

// Create an Object
const person = {
  firstName: "John", lastName: "Doe", age: 50
};
// Destructuring
let {firstName, lastName, country = "US"} = person;

Object Property Alias

Example

// Create an Object
const person = {
  firstName: "John", lastName: "Doe", age: 50
};
// Destructuring
let {lastName : name} = person;

String Destructuring

One use for destructuring is unpacking string characters.

Example

// Create a String
let name = "ExampleSite";
// Destructuring
let [a1, a2, a3, a4, a5] = name;

Destructuring can be used with any iterables.

Array Destructuring

We can pick up array variables into our own variables:

Example

// Create an Array
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];
// Destructuring
let [fruit1, fruit2] = fruits;

Skipping Array Values

We can skip array values using two or more commas:

Example

// Create an Array
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];
// Destructuring
let [fruit1,,,fruit2] = fruits;

Array Position Values

We can pick up values from specific index locations of an array:

Example

// Create an Array
const fruits = ["Bananas", "Oranges", "Apples", "Mangos"];
// Destructuring
let {[0]:fruit1 ,[1]:fruit2} = fruits;

The Rest Property

You can end a destructuring syntax with a rest property.

This syntax will store all remaining values into a new array:

Example

// Create an Array
const numbers = [10, 20, 30, 40, 50, 60, 70];
// Destructuring
const [a,b, ...rest] = numbers

Destructuring Maps

Example

// Create a Map
const fruits = new Map([ ["apples", 500], ["bananas", 300], ["oranges", 200]
]);
// Destructuring
let text = "";
for (const [key, value] of fruits) {
  text += key + " is " + value;
}

Swapping JavaScript Variables

You can swap the values of two variables using a destructuring assignment:

Example

let firstName = "John";
let lastName = "Doe";
// Destructuring [firstName, lastName] = [lastName, firstName];

Previous

JavaScript Function Expressions

Next

JavaScript Arrow Functions

This chapter

Overview
51

Lessons

194m

Read time

1. JavaScript Tutorial2. JavaScript Syntax3. JavaScript Operators4. JavaScript if5. JavaScript Loops6. JavaScript Functions7. JavaScript Scope8. JavaScript Data Types9. JavaScript Style Guide10. JavaScript Introduction11. JavaScript Statements12. JavaScript Arithmetic13. JavaScript else14. JavaScript For Loop15. JavaScript Functions16. JavaScript Code Blocks17. JavaScript Primitives18. JavaScript Best Practices19. JavaScript Where To20. JavaScript Comments21. JavaScript Assignment22. The JavaScript Ternary Operator23. JavaScript While Loops24. Invoking JavaScript Functions25. JavaScript Hoisting26. JavaScript Built-In Objects27. JavaScript Common Mistakes28. JavaScript Output29. JavaScript Variables30. JavaScript Comparison31. JavaScript Switch Statement32. JavaScript Break33. JavaScript Function Parameters34. JavaScript Use Strict35. JavaScript typeof36. JavaScript Performance37. JavaScript Let38. JavaScript Conditionals39. JavaScript Booleans40. JavaScript Continue41. JavaScript Function Return42. JavaScript toString()43. JavaScript Const44. JavaScript Logical Operators45. JavaScript Control Flow46. JavaScript Function Arguments47. JavaScript Type Conversion48. JavaScript Datatypes49. JavaScript Function Expressions50. JavaScript Destructuring51. JavaScript Arrow Functions

On this page

Destructuring Assignment SyntaxObject DestructuringObject Default ValuesObject Property AliasString DestructuringArray DestructuringSkipping Array ValuesArray Position ValuesThe Rest PropertyDestructuring MapsSwapping JavaScript Variables