Skip to content Skip to sidebar Skip to footer

Destructuring Assignment Default Value

I am learning javascript and I got kind of stuck with ES6 syntax while trying to give a default value to a variable when destructuring. Basically, I am trying to assign a variable

Solution 1:

You probably confused by the difference between null and undefined, For example:

const { dogName = 'snickers' } = { dogName: undefined }
console.log(dogName) // what will it be? 'snickers'!const { dogName = 'snickers' } = { dogName: null }
console.log(dogName) // what will it be? null!const { dogName = 'snickers' } = { dogName: false }
console.log(dogName) // what will it be? false!const { dogName = 'snickers' } = { dogName: 0 }
console.log(dogName) // what will it be? 0!

Taken from: http://wesbos.com/destructuring-default-values/

Solution 2:

No, it is not compatibility problem.

Default value will works if there's no value, meaning that it will work if it is undefined. From your example, you're assigning null to prop2, and null is a defined value.

So it will work if your prop2 is not defined or assigned with undefined

let foo = { 
        prop1: 'hello!',
        prop2: undefined 
       }

const { prop1 = {} } = foo
const { prop2 = {} } = foo

console.log(prop1) // hello!console.log(prop2) // {}

Post a Comment for "Destructuring Assignment Default Value"