Está dando esse erro na parte de declaração dessas variáveis e dos seus tipos.
"Type HTMLInputElement | null is not assignable to type 'HTMLInputElement'"
Pra facilitar, deixei meu código em um repositório do github até essa parte do erro:
https://github.com/albuquerque-lucas/typescript-1
Mas de qualquer forma, aqui está o código da página:
import { Negociacao } from "../models/negociacao.js";
export class NegociacaoController {
private inputData: HTMLInputElement;
private inputQuantidade: HTMLInputElement;
private inputValor: HTMLInputElement;
constructor()
{
this.inputData = document.querySelector('#data');
this.inputQuantidade = document.querySelector('#quantidade');
this.inputValor = document.querySelector('#valor');
}
adiciona(): void
{
const negociacao = this.criaNegociacao();
console.log(negociacao);
}
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);
}
}