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

Sintaxe da Arrow Function sem {}

To com um erro na minha arrow function de uma linha só. O código é o seguinte:

class NegociacaoController{

    constructor(){

        let $ = document.querySelector.bind(document)

        this._inputData = $('#data')
        this._inputQuantidade = $('#quantidade')
        this._inputValor = $('#valor')

    }

    adiciona(event){

        event.preventDefault() 

        let data = new Date(...
            this._inputData.value 

            //o inputData nos dá uma data no formato 2020-10-10, por isso o uso do split pra separar em um array. (o date aceita o formado array também da seguinte maneira: date = new Date(['2020', '10', '10']) )

            //o uso dos "..." serve para passar cada elemento do array como parametro e não o array inteiro

                .split('-')
                .map((item, indice) =>  return item - indice % 2)

            )

            //como tenho uma única instrucao o arrow function não precisa da {}
            //o map é usado pra decrementar 1 do mês, porque o mês em JS começa em 0 = janeiro, por isso a data vem errada e precisamos decrementar 1 se a data vier no formato inteiro.

            // se o índice foi 1 (posicao do mes) ele decrementa 1, veja os indices [0](0%2=0) [1](1%2=1) << cai nessa condicao [2](2%2=0)

        console.log(data)

        }
}

O erro é no 'return' e a mensagem é a que está esperando um '{'. Erro: ('{' expected. ts 1005)

Claro que eu posso simplesmente incluir o { } e o erro para, mas queria entender o que tem de errado ou se é porque o curso é meio antigo e a sintaxe mudou ou algo assim.

No mais, gostaria de uma ajudinha pra saber se eu entendi e se meus comentários no código estão corretos.

1 resposta
solução!

Fala Igor, tudo bem?

Quando utilizamos essa sintaxe, da arrow function inline, não precisamos utilizar o palavra return pois ja é retornado automaticamente!

Então você pode utilizar assim:

.split('-')
                .map((item, indice) => item - indice % 2)

Recomendo dar uma olhada sobre as arrow function na documentação, pode te ajudar a entender os atalhos dela.

Qualquer dúvida pode contar com a gente, beleza?

Abraços e bons estudos :D