Skip to content

Instantly share code, notes, and snippets.

@Ruttmann
Last active April 16, 2019 13:53
Show Gist options
  • Save Ruttmann/0db35b70f765db406af1550c81eed945 to your computer and use it in GitHub Desktop.
Save Ruttmann/0db35b70f765db406af1550c81eed945 to your computer and use it in GitHub Desktop.
JS ES6
/*
Desestruturação:
*/
const usuario = {
nome: 'Marlon',
idade: 26,
endereco: {
cidade: 'Blumenau',
estado: 'SC'
}
}
//Extrai os parâmetros do objeto usuario
const { nome, idade, endereco: { estado }} = usuario
//Loga o objeto de usuario
console.log(usuario)
//Loga cada atributo extraido do objeto usuario
console.log(nome)
console.log(idade)
console.log(estado)
/*
Desestruturação em funções:
*/
//Assina a função com os atributos que quer extrair
function mostraAtributos({ nome, idade }) {
console.log(nome, idade)
}
//Chama a função com o objeto a ter os atributos extraidos
mostraAtributos(usuario)
/*
Operadores REST/SPREAD
*/
// REST
const usuario = {
nome: 'Marlon',
idade: 26,
empresa: 'Blablabla'
}
//Guarda o nome em uma variável e o RESTo em outra
const { nome, ...resto } = usuario
console.log(nome)
console.log(resto)
//Com array
const arr = [1,2,3,4,5]
const [a, b, ...c] = arr
//Tem 1
console.log(a)
//Tem 2
console.log(b)
//Tem um array com 3, 4 e 5
console.log(c)
//Com funções
//Recebe inúmeros parâmetros e joga todos em um array
function soma(...params) {
//Faz a soma usando reduce
return params.reduce((total, next) => total + next)
}
console.log(soma(1,2,3))
//Primeiro e segundo params em a e b, restante dos params em um array
function soma2(a, b, ...params) {
return params
}
// SPREAD
//Com arrays
const arr1 = [1,2,3]
const arr2 = [4,5,6]
//Une os dois arrays anteriores
const arr3 = [...arr1, ...arr2]
//[1,2,3,4,5,6]
console.log(arr3)
//Com objetos
const usuario1 = {
nome: 'Marlon',
idade: 26,
empresa: 'Blablabla'
}
const usuario2 = { ...usuario1, nome: 'Luana' }
//Imprime o usuario2 com apenas o nome alterado e todos os outros atributos iguais a usuario1
console.log(usuario2)
/*
Object Short Syntax
*/
const nome = 'Marlon'
const idade = 26
const usuario = {
nome, //não precisa fazer nome: nome ou idade: idade
idade,
empresa: 'Blablabla'
}
console.log(usuario)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment