1
resposta

get volume( ) com erro

nao sei como resolver esse erro no get Volume ()

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() {
        return this._data;
    }

    get quantidade() {
        return this._quantidade;
    }

    get valor() {
        return this._valor;
    }

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

}

"The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."

1 resposta

Júlio, está dando erro pois você está atribuindo um tipo "Number" com "N" maiusculo, que é diferente de "number" com "n" minusculo.

number = tipo primitivo de numero, com numeros de 64bits; Number = é um objeto em volta do number primitivo;

É só trocar todos os Number pra number que vai funcionar, e após isso, ainda é bom colocar os tipos no get também, assim:

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;
    }
}