Olá, Luciano! Tudo bem?
Desculpe a demora em retornar.
Esse bloco de código está criando uma nova data a partir de um valor que foi inserido em um input. Vou explicar passo a passo o que está acontecendo:
let data = new Date(...
: aqui é criada uma variável data
que recebe uma nova instância do objeto Date
, que representa uma data.
this._inputData.value
: aqui é obtido o valor do input que contém a data.
.split('-')
: aqui é feita a separação do valor obtido anteriormente em um array, utilizando o caractere "-" como separador.
.map(function(item, indice){
: aqui é utilizado o método map
para percorrer cada item do array e aplicar uma função a ele.
return item - indice % 2
: aqui é subtraído o índice do item atual do array, módulo 2. Isso é feito para que os meses, que são representados de 0 a 11 no objeto Date
, sejam corrigidos. Por exemplo, se o mês for janeiro (índice 0), será subtraído 0, o que resulta em 0. Se o mês for fevereiro (índice 1), será subtraído 1, o que resulta em 1, e assim por diante.
})
: aqui é fechada a função que foi passada como parâmetro para o método map
.
Espero ter ajudado a esclarecer suas dúvidas!
Um abraço e bons estudos.