3
respostas

Erro código no inspector

Bom dia Tentei executar essa ultima parte do código no console poreém apresenta este erro

 Negociacao.js:3 Uncaught TypeError: data.getTimne is not a function at new Negociacao (Negociacao.js:3) at NegociacaoController.adiciona (NegociacaoController.js:75) at HTMLFormElement.onsubmit (index.html:14)


meu código no NegociacaoController.js, ficou assim:

constructor(){

    let $ =document.querySelector.bind(document);  
    this._inputData= $('#data'); // - usando o this passa a ter condição de classe e podemos fazer quantas inserções for necessárias e só ira buscar uma vez ( ganha performance)
    this._inputQuantidade = $('#quantidade');
    this._inputValor= $('#valor');
}

adiciona(event){

    event.preventDefault();

let data = new Date( ...this._inputData.value .split('-') .map((item,indice)=>item-indice % 2) );

    let negociacao = new Negociacao(
      data,
      this._inputQuantidade.value,
      this._inputValor.value

      );
      console.log(negociacao);
      }
      }

      Não consegui entender o que estpa passando de errado 

Código negociacao.js

class Negociacao{
    constructor(data, quantidade, valor) {
         this._data = new Date(data.getTimne()); //this.data = data; (esta linha aciona atributos publicos) // - linha 3
         this._quantidade = quantidade; //this.quantidade = quantidade;
         this._valor = valor; //this.valor= valor;
        Object.freeze(this);
    }
     get volume(){
        return this._quantidade * this._valor;
    }

    get data(){
      return new Date(this._data.getTime());
    }
    get quantidade(){
     return this._quantidade;
     }
    get valor(){
         return this._valor;
     }
}
3 respostas

Fala Jorge, tudo bem?

Esse erro é devido a um erro de digitação ao descrever o nome do método getTime na sua classe Negociacao na primeira linha do constructor, em que você adicionou um n a mais no nome, veja:

class Negociacao{
    constructor(data, quantidade, valor) {
         this._data = new Date(data.getTimne());  // Aqui o correto seria getTime() ao invés de getTimne()
         this._quantidade = quantidade;
         this._valor = valor; 
        Object.freeze(this);
    }
     get volume(){
        return this._quantidade * this._valor;
    }

    get data(){
      return new Date(this._data.getTime());
    }
    get quantidade(){
     return this._quantidade;
     }
    get valor(){
         return this._valor;
     }
}

Então basta alterar getTimne para getTime na primeira linha do construtor da sua classe!

Espero ter ajudado, bons estudos :D

Muito obrigado pela resposta. não tinha visto mesmo. desculpe o incomodo e o erro de iniciante , iniciante ..rsrs Obrigado

Não é encomodo de maneira alguma, ficamos felizes em te ajudar! Caso tenha solucionado, marque minha resposta como solução para que possa ajudar outros alunos com o mesmo problema :D