sacar(valor) {
let taxa = 1.1;
return this._sacar(valor, taxa);
}
na classe ContaCorrente método Sacar, porque foi usado return this._sacar(valor, taxa); e não return this.sacar(valor); ?
sacar(valor) {
let taxa = 1.1;
return this._sacar(valor, taxa);
}
na classe ContaCorrente método Sacar, porque foi usado return this._sacar(valor, taxa); e não return this.sacar(valor); ?
Fala ai Heloisa, tudo bem? Foi utilizado o this._sacar
para utilizar a função "privada" da clasase que de fato realiza o saque da conta.
Se tu chamar this.sacar
iria ficar em um loop infinito, pois, seria uma chamada para a própria função sacar
.
Espero ter ajudado.
Oi Heloisa!
O método sacar
é o método público e sua responsabilidade é adicionar uma taxa padrão à ação de saque. A função que de fato faz as validações e retorna um valor a ser sacado é o this._sacar
.
Podemos ampliar um pouco o código para ficar mais claro:
sacar(valor) {
let taxa = 1.1;
let valorSacado = this._sacar(valor, taxa);
return valorSacado;
}
Ou seja, quando a função sacar
é chamada com um valor, ela cria uma variável taxa
e os dois são passados para a função _sacar
. Esta executa seu papel calculando o valor multiplicado pela caixa e retorna o resultado. Este valor é armazenado pela variavel valorSacado
que é por fim retornado pela sacar
. No código do instrutor, a criação da variável é omitido para deixar a função um pouco mais rápida.
Espero ter ajudado. Se ainda tiver alguma dúvida, poste aqui por favor. :)