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

o que é /-/g?

Olá gostaria de saber o que é este valor /-/g dentro da função criaNegociacao() no arquivo negociacao-controller.ts.

criaNegociacao(): Negociacao{
        const exp = /-/g;
        const date = new Date(this.inputData.value.replace(exp, ','));
        const quantidade = parseInt(this.inputQuantidade.value);
        const valor = parseFloat(this.inputValor.value);
        return new Negociacao(date, quantidade, valor);
    }
2 respostas
solução!

No Javascript (assim como no Typescript), essa é a forma literal de você criar uma expressão regular (regex). Você começa com '/' e termina com '/'. Após a última barra você pode colocar algumas flags que modificam algo no processamento da regex. A expressão regular é feita para que se encontre textos em strings baseado em certas regras. No caso acima, /-/g signifca (busque todos os caracteres '-', de forma global, ou seja, não pare ao encontrar o primeiro valor). Na linha abaixo

const date = new Date(this.inputData.value.replace(exp, ','));

a expressão regular é utilizada como parâmetro no método replace do tipo string. Dessa forma, o método replace executa a regex e substitui todos os 'matches' (todas as substrings que estão em conformidade com a regex) e substitui-os por ','.

Dessa forma, '11-08-2022' vira '11,08,2022'.

Agradeço a explicação, muito obrigado!