1
resposta

class constructor e .value

class NegociacaoController {

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

ao criar esse constructor o código não funcionará se eu colocar o " .value" nos querySelectors acima. já ao colocar como um atributo no objeto negociacao ele funciona

    let negociacao = new Negociacao(
            data,
            this.inputQuantidade.value,
            this.inputValor.value
        )

gostaria de entender pq no constructor o .value não funciona. obg

1 resposta

Rodrigo, boa tarde!

Usar o .value no construtor logo após selecionar, não deveria dar erro. O que pode estar ocorrendo é que ao fazer

class NegociacaoController {

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

Depois ao instânciar uma nova negociação, não há a necessidade de se usar o .value novamente! E claro, não a necessidade de usar em nenhum outro lugar que você possa estar usando essa variável como um elemento e não como um valor.

Espero ter ajudado e bons estudos!