2
respostas

Não há necessidade de trocar "-" por ","

O TypeScript entende datas no formato "1111-11-11".

Screenshot do código a seguir

adicionar() {
        console.log(this._dataInput.value);
        const negociacao = new Negociacao(
            new Date(this._dataInput.value),
            parseInt(this._quantidadeInput.value),
            parseInt(this._valorInput.value));
        console.log(negociacao);
    }

Screenshot da página que estamos construindo, com a data 4 de agosto de 2021 no input de data, 1 no input de valor e 12 no input de quantidade. Abaixo, o console com o seguinte conteúdo.

2021-08-04
Negociacao {_data: Tue Aug 03 2021 21:00:00 GMT-0300 (Brasilia Standard Time), _quantidade: 1, _valor: 12}

Exemplos feitos usando node v16.6.1, npm 7.20.3, typescript 4.3.5 e Google Chrome versão 91.0.4472.77.

2 respostas

Realmente poderia ser utilizado dessa maneira, porém foi usado como exemplo de utilização do spread operator!

Fala Patrick, tranquilo?

Quando eu tinha respondido esse tópico eu não havia entendi muito bem sobre as datas do javascript, porém hoje após surgir uma dúvida eu fui pesquisar melhor e descobri que você pode sim utilizar esse formato de data porém para que funcione corretamente você deve especificar o horario, pois se você der uma olhadinha no seu console, verá que nos retorna a data com um dia a menos, devido ao nosso fuso horário que é UTC-3, e como não foi fornecido o horário, será considerado 00:00 do fuso horário UTC, porém como nosso fuso é -3 irá diminuir 3h assim nos retornando 21h do dia anterior. Então o correto seria:

new Date("YYYY-MM-DDTHH:MM:SS")

Ou

new Date("YYYY-MM-DD HH:MM:SS")

Abraços e bons estudos!