1
resposta

Console Navegador mensagem : Não foi possível exibir as propriedades. Objeto não existe mais.

Segui o que o professor passou, console do navegador printa : > [Negociacao] (1).

Contudo ao tentar abrir pra ver o conteudo aparece a mensagem :

console:

*Não foi possível obter as propriedades. O objeto pode não existir mais. adiciona — negociacao-controller.js:19 * Estou usando navegadores : Safari [Versão 15.1 (17612.2.9.1.20) MACOS] e Chrome

*Alguem poderia me ajudar sobre o que estou fazendo errado? *

Meus Códigos.

negociacao-controller.ts

import { Negociacao } from "../models/negociacao.js";
import { Negociacoes } from "../models/negociacoes.js";

export class NegociacaoController {
    private inputData: HTMLInputElement;
    private inputQuantidade: HTMLInputElement;
    private inputValor: HTMLInputElement;
    private negociacoes: Negociacoes  = new Negociacoes();


    constructor () {
        this.inputData = document.querySelector('#data')
        this.inputQuantidade = document.querySelector('#quantidade')
        this.inputValor = document.querySelector('#valor')
    }

    adiciona() : void {
        const negociacao = this.criaNegociacao();
        this.negociacoes.adiciona(negociacao)
        console.log(" perto da lista negociacao")
        console.log(this.negociacoes)
        console.log(this.negociacoes.lista());
        this.limparFormulario()
    }

    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)

    }
    limparFormulario(){
        this.inputData.value = ''
        this.inputQuantidade.value = ''
        this.inputValor.value = ''
        this.inputData.focus()
    }

}

negociacao.ts

export class Negociacao {
    private _data: Date;
    private _quantidade: number;
    private _valor: number;

    constructor(data: Date, quantidade: number, valor: number ) {
        this._data = data;
        this._quantidade = quantidade;
        this._valor = valor;
    }

    get data() : Date {
        return this._data;
    }

    get quantidade() :  number  {
        return this._quantidade;
    }

    get valor() : number  {
        return this._valor;
    }

    get volume()  : number {
        return this._quantidade * this._valor;
    }
}

negociacoes.ts

import { Negociacao } from "./negociacao.js";

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

    adiciona( negociacao: Negociacao){
        this.negociacoes.push(negociacao)
        console.log( this.negociacoes)

    }
    lista(): Array<Negociacao>{
        return this.negociacoes
    }
}
1 resposta

Eu usei o JSON.stringfy()

console.log(JSON.stringfy(this.negociacoes));

console.log(JSON.stringfy(this.negociacoes.lista()));