Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Discrepancia o duda en la clase

El profesor crea el siguiente código indicando que el valor no se puede alterar dentro del método por el let que crea

    transferirParaCuenta(valor,cuentaDestino) {
        this.retirarDeCuenta(valor);
        cuentaDestino.depositoEnCuenta(valor);
        valor = 200;
        valor = valor*1000;

let parametroValor = 100;

console.log('Parámetro Valor',parametroValor);
cuentaDeLeonardo.transferirParaCuenta(parametroValor,cuentaDeMaria);
console.log('Parámetro Valor',parametroValor);

Pero esto es un error porque si el valor alterado en el método se ocupa arriba de this.retirarDeCuenta(valor); el valor es cambiado si o sí, aunque afuera se haya creado un let, supuestamente para evitar eso.

Quiero aclarar que no es por recliminarle al profesor, pero me gustaría que algún encarcado me confirme si estoy en lo cierto o que yo haya comitido un error. Se lo agradecería mucho. https://github.com/alura-es-cursos/1772-javaScript-introduccion-a-la-orientacion-a-objetos/tree/Aula3

PD: Me gusta mucho lo que estoy aprendiendo :D

1 respuesta
solución!

Hola Argenis, espero estés muy bien!!

Nos alegra que estés gustando de los cursos y gracias por usar el foro para aclarar tus dudas!!

Es cierto que puedes cambiar los valores en el método, pero sólo si pasas el parámetro por referencia, tal como lo explicas ahí arriba de this.retirarDeCuenta(valor), javascript permite modificar atributos de clases en ese caso;

Ahora si pasas los parámetros como valor en éste caso let parametroValor = 100; ahí las funciones en javascript no tienen el alcance para modificar su valor fuera de su escopo.

Espero haberte ayudado, puedes preguntar las veces que lo necesites. Estamos a tu disposición!!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios