Yo lo que quiero es poder pasarle a el setCantidadDeHoras del return un valor y que cambie la variable cantidad_horas para que si llamo a sueldo revuelva actualizado los datos.
Se que el código esta muy cambiado a lo que quiero pero estuve probando actualizar el valor desde adentro de la clase y nada, espero que me puedan dar una mano.
Muchas gracias.
Código Javascript:
Ver original
var persona = function(id,nombre,edad,cantidad_horas,costo_por_hora){ this.id = id; this.nombre = nombre; this.edad = edad; this.cantidad_horas = cantidad_horas; this.costo_por_hora = costo_por_hora; var calcular_sueldo = function(){ return (this.cantidad_horas * this.costo_por_hora); }; var cambiar_cantidad_de_horas = function(valor){ console.log(valor); this.cantidad_horas= valor }; return { getId: id, getNombre: nombre, getCantidadDeHoras: cantidad_horas, sueldo: calcular_sueldo(), setCantidadDeHoras: cambiar_cantidad_de_horas(50) /* setCantidadDeHoras: function(valor){ console.log(valor); cambiar_cantidad_de_horas(valor); }*/ // no logro pasar por parametro un valor para setter } }; var p1 = new persona(1,"Pedro",35,44,750); console.log(p1); console.log(p1.getId); console.log(p1.sueldo); console.log(p1.getCantidadDeHoras); console.log(p1.setCantidadDeHoras); console.log(p1.getCantidadDeHoras); console.log(p1.sueldo);