Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não entendo o código quando tem "..."

    const fotoAtualizada = {
      ...this.state.foto,
      likeada: !this.state.foto.likeada
    }

Em algumas situações, no código está sendo usado reticências, por exemplo, "...this.state.foto". O que isso quer dizer ? tentei entender mas não consegui. Trata-se de algo do ES6 ? Procurei no Google e não encontrei uma explicação que me fizesse entender.

Falando da CONST (fotoAtualizada), comparando com o javascript tradicional, como esse código poderia ser escrito ? Seria possível remover as reticências só pra eu ter um comparativo? Acho que se comparar com o tradicional fica mais fácil pra eu entender.

Muito obrigado.

2 respostas
solução!

Boa tarde, Jairo! Como vai?

Esse é o spread operator do ES6, o instrutor cita ele ao usá-lo nesse vídeo aos 11:40.

Esse operador, dentre outras coisas, permite vc expandir as propriedades do seu objeto Javascript. No caso do código que vc citou, o que está acontecendo é que a constante fotoAtualizada está ganhando todas as propriedades que this.state.foto tem e além disso, sobrescrevendo a propriedade likeada com um novo valor.

Pegou a ideia?

Para mais informações, seguem dois links da documentação.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax (em inglês, mas é um pouco mais completo)

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/Spread_operator (em português)

Grande abraço e bons estudos!

Oi, Jairo! Tudo bem?

Obrigada por compartilhar a sua dúvida! Este recurso recebe o nome spread operator, o instrutor fala melhor sobre o assunto no curso.

Mas qualquer coisa, só avisar =)

Muito obrigada! =)

Abraços