Sitemap

Javascript — Object Destructuring

3 min readApr 10, 2021

In this article, I will explain object destructuring using pure Javascript and provide some examples of how I use it in my react project

How to use it with pure Javascript

  1. basic extract

The basic use of destructuring is to us {} to extract one or more properties from your object. The below example shows that you can extract and create a string variable with the same property name.

Press enter or click to view image in full size
Press enter or click to view image in full size

2. default value

If the destructed object don’t have the properties value, you can assign a default value, otherwise, it will return undefined. However, by assigning it with a value, it will not change your original object

Press enter or click to view image in full size

3. Alias

If you want to extract property and give it a different name, you can use : to create an alias of it. Again, this will not change your original object.

Press enter or click to view image in full size

4. Nested Object

Another popular way to use it is to extract a nested object, below example you can see that although currentRanking is in the nested layer, we can still extract is as a string

Press enter or click to view image in full size

5. Rest Object

Combine it with rest syntax, you can extract multiple properties as an object variable.

Rest parameter and spread syntax: https://javascript.info/rest-parameters-spread

Press enter or click to view image in full size

How I use it in my project

  1. Use in React Props

one of the common uses I find out is using it to pass in react props.

Let’s use this codeSandbox to explain the behavior: https://codesandbox.io/s/infallible-bogdan-6rt4h

In parent component ./WeatheraApp.js, with conditional rendering, I am passing some props down to ./WeatherCard.js and ./WeatherSetting.js.

Press enter or click to view image in full size

Let's first check what happens in weather cards, when passing in props if you check it on console.log, you can see it’s passing in a props object with below properties

props: {
weatherElement:
moment:
fetchData:
setCurrentPage:
cityName:
}

Hence, in weatherCard we can extract these properties

Press enter or click to view image in full size

In weatherSetting, we extract it when sending it over as a parameter, hence in weatherSetting function we can use cityName directly

Press enter or click to view image in full size

Ref

--

--

Toddypet
Toddypet

Written by Toddypet

Hello, I am Heidi. I started this medium blog to post all of the note I have when I am learning new things. Hope you find it useful as well:)

No responses yet