Skip to main content

Destructuring

Object Property - Shorthand Notatin

var language = 'Markdown';
var extension = 'md';
var fileName = 'Destructuring';

var file = {
language: language,
extension: extension,
fileName: fileName
}

// equivalent
var file = {language, extension, fileName}

Some Destructuring examples

tip
Example One : deconstructoring object
let user = {
name : 'Ashley',
email : 'ashley@ilovees2015.net',
lessonsSeen : [ 2, 5, 6, 7, 9 ],
nextLesson : 10
}

let { email, nextLesson } = user
tip
Example Two : deconstruring array
let [a, b] = [5, 3]
[a, b] = [a + 1, b + 1]
console.log( a, b ) // a = 6; b = 4

Deeper Destructuring

let user = {
name: 'Jonathan',
age : 40,
family : {
wife : "Erin",
kid : 'Meara'
}
}

let {
family:{
wife
}
} = user

// console.log(family.wife) // error: family is not defined.
console.log(wife) // this is the right way to use.

Pitfalls

danger

Writing an error property name of the deconstructoring object.

let { neme } = user
console.log( neme ) // actually it's name not neme, so it will raise an error.
danger

The destructuring object can not be null or undefined

let testUser = null
let { name, email } = testUser // error