Bom dia pessoal!
Estou com um problema após a ativação do strictNullChecks, esse erro não foi apresentado em aula.
O erro é apresentado em NegociacaoController, erro nas linhas abaixo:
new Date(this._inputData.val().toString().replace(/-/g, ',')), //ERRO NESSA LINHA - Object is possibly 'undefined'
parseInt(this._inputQuantidade.val().toString()), //ERRO NESSA LINHA - Object is possibly 'undefined'
parseFloat(this._inputValor.val().toString()) //ERRO NESSA LINHA - Object is possibly 'undefined'
Segue abaixo o código completo:
import { NegociacoesView, MensagemView } from './../views/index';
import { Negociacao, Negociacoes } from './../models/index';
export class NegociacaoController{
private _inputData : JQuery;
private _inputQuantidade : JQuery;
private _inputValor : JQuery;
private _negociacoes = new Negociacoes();
private _nregociacoesView = new NegociacoesView('#negociacoesView');
private _mensagemView = new MensagemView('#mensagemView');
constructor(){
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
this._inputValor = $('#valor');
// carrega a tabela na tela
this._nregociacoesView.update(this._negociacoes);
}
adiciona(event : Event){
event.preventDefault();
const negociacao = new Negociacao(
new Date(this._inputData.val().toString().replace(/-/g, ',')), //ERRO NESSA LINHA - Object is possibly 'undefined'
parseInt(this._inputQuantidade.val().toString()), //ERRO NESSA LINHA - Object is possibly 'undefined'
parseFloat(this._inputValor.val().toString()) //ERRO NESSA LINHA - Object is possibly 'undefined'
);
this._negociacoes.adiciona(negociacao);
//atualiza a tabela com os dados recebidos no formulario
this._nregociacoesView.update(this._negociacoes);
this._mensagemView.update('Negociação adicionada com sucesso!');
}
}