Estou com a seguinte dúvida referente ao código abaixo: Porque o método depositar não funciona com a sentença de código dentro do bloco de comando, mas ele funciona com o return dentro do bloco e o código fora do bloco?
class contaCorrente { agencia; _cliente; _saldo;
set cliente(novoValor){
if(novoValor instanceof this._cliente){
this._cliente = novoValor
}
}
get cliente(){
return this._cliente
}
_saldo = 0
get saldo(){
return this._saldo
}
sacar(valor){
if(this._saldo >= valor){
this._saldo -= valor
}
}
depositar(valor){
if(this.valor <= 0){
this._saldo += valor
} else {console.log("Você não pode depositar um valor negativo")}
}
transferir(valor, _conta){
const valorSacado = this.sacar(valor)
_conta.depositar(valorSacado)
}
}
segue abaixo a forma funcional:
class contaCorrente { agencia; _cliente; _saldo;
set cliente(novoValor){
if(novoValor instanceof this._cliente){
this._cliente = novoValor
}
}
get cliente(){
return this._cliente
}
_saldo = 0
get saldo(){
return this._saldo
}
sacar(valor){
if(this._saldo >= valor){
this._saldo -= valor
}
}
depositar(valor){
if(this.valor <= 0){
return
} this._saldo += valor//else {console.log("Você não pode depositar um valor negativo")}
}
transferir(valor, _conta){
const valorSacado = this.sacar(valor)
_conta.depositar(valorSacado)
}
}