Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi o Spread Operator

O split divide e retorna um array de acordo com o parâmetro divisor , e o Spread Operator serve para dividir os parâmetros em um array.

Mas quando eu não vejo diferença entra o ...texto.split('-') e o texto.split('-')

Ambos não chegam no map como um array?

Por que o retorno sem o spread dá errado?

static textoParaData(texto) {
        console.log(texto);
        console.log(...texto.split('-'));
        console.log(texto.split('-'));
        return new Date(texto.split('-').map((item, indice) => item - indice % 2));
    }

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá Yuri, tudo bem?

Desculpe a demora em retornar.

O operador Spread (três pontos ...) é utilizado para "espalhar" os elementos de um array em outro array ou em uma estrutura de dados que aceite múltiplos elementos, como uma função que recebe vários parâmetros.

No seu exemplo, tanto o ...texto.split('-') quanto o texto.split('-') retornam um array com os elementos separados pelo caractere "-". Porém, ao utilizar o Spread Operator, você está "espalhando" os elementos do array retornado pelo split() como parâmetros separados na função console.log(), enquanto sem o Spread Operator, você está passando o array inteiro como um único parâmetro.

No caso específico da função textoParaData(), o método map() espera receber um array como parâmetro, por isso é necessário utilizar o Spread Operator para "espalhar" os elementos do array retornado pelo split().

Espero ter ajudado a esclarecer sua dúvida.

Um abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software