Isso mesmo Wanderson.
Elton, você criou a propriedade na classe como Data
, e propriedades começam com minúscula. Foi erro de digitação. Por isso só funcionou quando você fez n1.Data.setDate(11);
, porque já na classe criou como Data
. No curso informo que o atributo é data
e Data
.
Toda vez que um erro acontecer em JavaScript, a linha do erro é apresentada.
Como você compartilhou corretamente a linha do erro temos:
index.html:65 Uncaught TypeError: Cannot read property 'setDate' of undefined
Ele indica que há um problema na linha 65.
Ai vem a dica, toda vez que ele diz 'undefined` em alguma mensagem de erro, é porque você esta acessando uma variável ou propriedade de objeto que não existe. Dai, consegue ver olhando na linha do erro onde errou na digitação.
Esse traquejo você pega ao longo dos curso de lógica de programação e JavaScript.
Aliás, meu aluno, tenho uma boa notícia para você.
O curso de JavScript que você fez foi regravado, sendo assim, o novo curso o preparará ainda melhor para este curso avançado.
Confira o endereço do novo curso que esta dando o que falar na Alura:
https://www.alura.com.br/curso-online-javascript-programando-na-linguagem-web
Talvez seja interessante fazer esse curso antes de continuar com o avançado. Pedi para que o instrutor desse novo curso preparasse ainda melhor o aluno para os cursos avançados.
Caso já tenha feito o novo curso, tranquilo. Continue com sua jornada no curso avançado.