Olá pessoal!
Abaixo seguem a classe NegociacaoController e as dúvidas, respectivamente:
class NegociacaoController {
constructor() {
// let $ = document.querySelector.bind(document);
// this._inputData = $("#data");
// this._inputQuantidade = $("#quantidade");
// this._inputValor = $("#valor");
// this._form = $(".form");
this._$ = document.querySelector.bind(document);
this._inputData = this._$("#data");
this._inputQuantidade = this._$("#quantidade");
this._inputValor = this._$("#valor");
this._form = this._$(".form");
}
adiciona(event) {
event.preventDefault();
let negociacao = this.criaNegociacao(this._inputData,
this._inputQuantidade, this._inputValor);
this.reiniciaFormulario();
console.log(negociacao.data, negociacao.quantidade, negociacao.valor);
}
criaNegociacao(inputData, inputQuantidade, inputValor) {
// transformação da data do input em array[3](mm/dd/yyyy),
// em formato compatível com a classe Date
let data = new Date(inputData.value.split('-'));
return new Negociacao(data, inputQuantidade.value, inputValor.value);
}
reiniciaFormulario() {
this._form.reset();
this._inputData.focus();
}
}
Dúvidas:
se o método que cria/retorna uma instância de negociação (criaNegociacao()) estaria correto (e mesmo estando correto/funcionando, se seria a forma mais apropriada);
o código comentado acima no construtor é o que foi passado na aula. Já olhei no fórum deste exercício e não encontrei ninguém que tenha feito desta forma: substituí a declaração "let $ = ..." por "this._$ =..." (inclusive para os demais desenvolvedores entenderem, conforme a convenção com _ (underline), que esta var/propriedade também é privada).
- qual das duas formas de declarar é a mais apropriada? Por que?
Desde já obrigado!
At.te.