Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
5
respuestas

Orientación de Objetos Javascript

Buenas noches, estoy realizando el siguiente código de clases: console.log("Definicion de clases"), que cuando lo ejecuto me sale lo siguiente:

TypeError: CuentaDeLeonardo.DepositoEnCuenta is not a function at Object. (D:\Alura\Javascript_Objetos\Archivos_realizados\index2.js:30:18) at Module.compile (node:internal/modules/cjs/loader:1105:14) at Object.Module.extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module.load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/runmain:77:12) at node:internal/main/run_main_module:17:47

No entiendo porque me indica que CuentaDeLeonardo.DepositoEnCuenta no es una función, cuando no lo he declarado como una función.
El codigo me deberia arrojar un deposito de 100 y un retiro de 50 (las otras variables se expresan como undefined).
Muchas gracias.

Este es el codigo:

class Cliente {

NombreCliente;
DNICliente;
RutCliente;

}

class CuentaCorriente{ NumeroCuenta; SaldoCuenta; AgenciaCuenta;

DepositoEnCuenta(valor){

this.SaldoCuenta += valor;

} //metodo de retirar de la cuenta:

RetiroDeCuenta(valor){

// this.SaldoCuenta = this.SaldoCuenta - valor; o lo que es lo mismo que this.SaldoCuenta -= valor;

} } CuentaDeLeonardo = new CuentaCorriente(); CuentaDeLeonardo = 0;

CuentaDeLeonardo.DepositoEnCuenta(100) console.log(CuentaDeLeonardo); CuentaDeLeonardo.RetiroDeCuenta(50) console.log(CuentaDeLeonardo);

5 respuestas

Hola Matias, espero que estés bien! ¡Muchas gracias por su contribución! ¡Para cualquier duda, estoy disponible! ¡Vamos juntos! ¡No desanimes! :)

Si este post te ayudó, por favor, marca como solucionado ✓.

No desanimo Rafaela, de ninguna manera. Gracias por tu escueta respuesta!!!

Hola Matias.

El error te sucede por el código de esta línea:

CuentaDeLeonardo = 0;

Estas asignando y convirtiendo el objeto que creaste para gestionar la cuenta, en una variable de tipo numérico. Con ello ya no puedes acceder a los métodos de DepositoEnCuenta y RetiroEnCuenta.

Para corregirlo, debes cambiar esa línea por esta:

CuentaDeLeonardo.SaldoCuenta = 0;

De esta forma inicializas el saldo de la cuenta a 0, que creo era lo que intentabas hacer.

Atte Leonardo

Hola Leonardo, gracias por tu respuesta. Voy a corregir el error, para ello, deberia haber definido previamente SaldoCuenta no?

Es solo cambiar la linea: CuentaDeLeonardo = 0; por: CuentaDeLeonardo.SaldoCuenta = 0;