1
resposta

Arquivos do projeto

Olá meu arquivo Controller está correto e a linha 16 sobre a expressão regular também? Com o andamento da aula abaixo segue as modificações, Já no arquivos negociacoes.ts o correto não seria colocar na variavel o underline, conforme no código abaixo?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Abaixo ficou melhor? Ele esta tipando o método e etornando o valor, correto?


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);
        this.limpaFormulario();
    }

    criaNegociacao(): Negociacao {
        const exp = /-/g;
        const data = new Date(this.inputData.value.replace(exp, ','));
        const quantidade = parseInt(this.inputQuantidade.value);
        const valor = parseFloat(this.inputValor.value);
        return new Negociacao(data, quantidade, valor);
    }

    limpaFormulario(): void {
        this.inputData.value = '';
        this.inputQuantidade.value = '';
        this.inputValor.value = '';
        this.inputData.focus();
    }
 }

Em negociacoes.ts

import { Negociacao } from "./negociacao";

 export class Negociacoes {
    private _negociacoes: Array<Negociacao> = [];

    adiciona(negociacao: Negociacao): void {
        this._negociacoes.push(negociacao);
    }
 }
1 resposta

Olá Marcel! Tudo bem?

Vamos analisar suas dúvidas:

  1. Expressão Regular na Linha 16: A expressão regular /-/g está correta para substituir todos os hífens por vírgulas na data. Isso é necessário para que o Date consiga interpretar o formato corretamente.

  2. Uso do Underline em negociacoes.ts: O uso de _negociacoes como uma variável privada está de acordo com a convenção de nomenclatura em TypeScript, que utiliza o underline para indicar que a variável é privada. Isso não é obrigatório, mas é uma prática comum.

  3. Tipagem e Retorno no Método criaNegociacao: O método criaNegociacao está tipado corretamente para retornar um objeto do tipo Negociacao. A criação da instância de Negociacao com os valores convertidos também está correta.

Seu código parece estar no caminho certo! Se não houver erros no console, tudo indica que está funcionando como esperado.

Espero ter ajudado. Conte sempre com nosso apoio :)

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado