Skip to content

Instantly share code, notes, and snippets.

@brunos3d
Last active January 15, 2020 14:19
Show Gist options
  • Save brunos3d/86684ca944cc2183c1fb725f95769b18 to your computer and use it in GitHub Desktop.
Save brunos3d/86684ca944cc2183c1fb725f95769b18 to your computer and use it in GitHub Desktop.
ES6 - 3 Formas de desestruturar um objeto com javascript
var objeto = { tamanho: 10, nome: undefined, peso: 180 };
// =========================================== exemplo 1
// "desmembramento manual" =[
var size = objeto.tamanho;
var name = objeto.nome || "Bruno";
var weight = objeto.peso;
console.log(size, name, weight);
// =========================================== exemplo 2
// Mesmo efeito utilizando mas de uma forma ainda mais "simples"
function desmembrar(tamanho, nome = "Samu", peso) {
return { size: tamanho, name: nome, weight: peso };
}
// blaahhh
Object.assign(this, desmembrar(...Object.values(objeto)));
// chatooo
console.log(this.size, this.name, this.weight);
// ou ainda com o uso do with para não precisar usar "this." em cada propriedade
with (desmembrar(...Object.values(objeto))) {
console.log(size, name, weight);
}
// =========================================== exemplo 3
// Mesmo efeito só que dessa vez utilizando desestruturação do ES6
var { tamanho: size, nome: name = "Caio", peso: weight } = objeto;
// bem mais prático ;)
console.log(size, name, weight);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment