Skip to content

Instantly share code, notes, and snippets.

@victorvhpg
Created November 7, 2016 22:39
Show Gist options
  • Save victorvhpg/372422fea6a862b06be04d0386f855c0 to your computer and use it in GitHub Desktop.
Save victorvhpg/372422fea6a862b06be04d0386f855c0 to your computer and use it in GitHub Desktop.
//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