Usando destructuring para melhorar codigos
Tome o seguinte pedaço de código:
data.map(song =>
const artistName = song.artist.name
const songTitle = song.title
...Podemos fazer um destructuring na referência song… artist da primeira const, title na segunda, veja:
data.map(({artist, title}) =>
const artistName = artist.name
const songTitle = title
...podemos ainda ir além e declarar outro destructuring derivado da artist, veja só:
data.map(({artist:{name}, title}) =>
const artistName = name
const songTitle = title
...Um segundo exemplo do poder do destructuring:
const doSomething = pessoa => {
const name = pessoa.name
const age = pessoa.age
...no exemplo acima, a função recebe um objeto pessoa como argumento, e atribui à constante name e age os atributos name e age do objeto pessoa… Essa função é similar a seguinte:
const doSomething = ({name, age}) => {
...
desse modo, nem precisamos declarar as variáveis name e age, visto que elas ja vieram como parâmetros no destructuring do objeto.
Podemos observar que poupamos muitas linhas de código, deixando-o mais enxuto e legível