Skip to main content

Destructuring & Naming

Variables with the same name​

In some cases, we may have a variable that we want to add as an object property value. If a property name (key) is the same as the variable name for the value, we can withdraw the variable name of the value. For example:

const firstName = 'John';
const lastName = 'Doe';
const age = 30;

Here I will put the variables above as the values for each property of the object. I will use the same variable names as the property names.

const person = {
firstName: firstName
lastName: lastName
age: age
};

We can shorten this code by removing the variable names from the property values. The variable names are the same as the property names, so we can remove them.

const person = {
firstName
lastName
age
};

Destructuring an object​

Destructuring allows us to pull values/variables out of an object

const todo = {
id: 1,
title: 'Take out trash',
};

const { id, title } = todo;

console.log(id, title); // 1, 'take out the trash'

We can also go multiple levels deep:

const todo = {
id: 1,
title: 'Take out trash',
user: {
name: 'John',
},
};

const {
user: { name },
} = todo;

console.log(name); // John

If we want to rename the properties, we can do that too:

const { id: todoId } = todo;

console.log(todoId); // 1

Destructuring an array​

We can also destructure arrays. I personally don't destructure arrays as much as I do objects

const numbers = [10, 20, 30, 40];

const [firstNumber, secondNumber] = numbers;

console.log(firstNumber, secondNumber) // 10, 20

The rest operator​

The spread operator (...) can be used here, but in this situation, we call it the rest operator. It puts the "rest" of the values in an array

const [firstNumber, secondNumber, ...rest] = numbers;

console.log(rest) // [30, 40]