Created
November 7, 2016 22:39
-
-
Save victorvhpg/372422fea6a862b06be04d0386f855c0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//considerando o seguinte objeto | |
let obj = { | |
a: "olá", | |
b: "oi", | |
c: "teste", | |
d: { | |
filho: { | |
idade: 1 | |
} | |
} | |
}; | |
//criando variaveis com inicialização/declaração | |
let { | |
a, | |
b, | |
c | |
} = obj; | |
//somente com atribuição é necessário usar parênteses | |
({ | |
a, | |
b, | |
c | |
} = obj); | |
console.log(a); // olá | |
console.log(b); // oi | |
console.log(c); // teste | |
//seria equivalente: | |
let a = obj.a; | |
let b = obj.b; | |
let c = obj.c; | |
//Exemplo com valor padrao caso propriedade não exista no objeto | |
let { | |
a, | |
b, | |
f = true | |
} = obj; | |
console.log(f); //true | |
//Exemplo quando variavel tem nome diferente da propriedade do objeto | |
//devemos usar : | |
//para as variaveis v1,v2 | |
let { | |
a: v1, | |
b: v2 | |
} = obj; | |
console.log(v1); // olá | |
console.log(v2); // oi | |
//Exemplo extraindo valores aninhados | |
//para a variavel filho (mesmo nome da propriedade do obj) | |
let { | |
d: { | |
filho | |
} | |
} = obj; | |
console.log(filho); // {idade: 1} | |
//para variavel filho2 (nome diferente da propriedade do obj) | |
let { | |
d: { | |
filho: filho2 | |
} | |
} = obj; | |
console.log(filho2); // {idade: 1} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment