Olá.
No momento 03:13 do vídeo dessa aula, pode ser visto que a data mostrada no console está no dia anterior à data inserida no input do tipo date
do formulário.
Entendo que isso tem a ver com questões de timezone, mas acredito que isso afete a validação da idade. Por exemplo:
dataNascimento.getDate();
Esse código continua a retornar o dia 03. Na hora de validar uma idade no extremo, ele pode dizer que uma pessoa já é maior de idade um dia antes de completar 18 anos.
Por favor, como eu faria para que retornasse a data correta que se encontra no input? Uma alternativa que eu encontrei nesse link do Stack Overflow é usar o split. No entanto, eu continuo sem entender o motivo de funcionar assim.
const dataNascimento = new Date(campo.value.split('-'));
console.log(dataNascimento) // retorna Mon Jan 04 1999 00:00:00 GMT-0200 (Horário de Verão de Brasília)
Obrigado.