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.