Buenas tardes,
Al realizar pruebas sobre el código, se evidencia que si se le manda un valor negativo en retiroEnCuenta(-10); este abona el valor a la cuenta sumándole el valor al saldo que contenga.
if(valor <= this.#saldo){
this.#saldo-= valor;
return this.#saldo;
}
}
se realizó una validación para que la función no tome valores negativos.
if((valor < 0)||(valor > this.#saldo)){
return this.#saldo;
}else if(valor <= this.#saldo){
this.#saldo-= valor;
return this.#saldo;
}
}
el código quedaría de la siguiente forma.
class Cliente {
nombreCliente;
dniCliente;
rutCliente;
}
class CuentaCorriente{
numero;
#saldo;
agencia;
constructor(){
this.#saldo=0;
this.numero='';
this.agencia= '';
}
depositoEnCuenta(valor){
if (valor > 0)
this.#saldo += valor;
return this.#saldo;
}
//Modificación del código para que no acepte valores negativos en el parámetro valor
retiroEnCuenta(valor){
if((valor < 0)||(valor > this.#saldo)){
return this.#saldo;
}else if(valor <= this.#saldo){
this.#saldo-= valor;
return this.#saldo;
}
}
/*De esta forma la función genera error con valores negativos en el parámetro valor
modificando el valor del saldo
retiroEnCuenta(valor){
if(valor <= this.#saldo){
this.#saldo-= valor;
return this.#saldo;
}
}*/
verSaldo(){
return this.#saldo;
}
}
cuentaWagnerCorriente = new CuentaCorriente();
let saldo = cuentaWagnerCorriente.verSaldo();
console.log("El saldo actual de su cuenta es : "+ saldo);
saldo = cuentaWagnerCorriente.depositoEnCuenta(100);
console.log("El saldo actual de su cuenta es : "+ saldo);
//console.log(cuentaWagnerCorriente);
saldo =cuentaWagnerCorriente.retiroEnCuenta(100);
console.log("El saldo actual de su cuenta es : "+ saldo);
//console.log(cuentaWagnerCorriente);
saldo =cuentaWagnerCorriente.depositoEnCuenta(10);
console.log("El saldo actual de su cuenta es : "+ saldo);
//pruebas de valores negativos
saldo =cuentaWagnerCorriente.retiroEnCuenta(-10);
console.log("El saldo actual de su cuenta es : "+ saldo);