Estoy un poco confundido con los objetos en JavaScript...
Escribí un objeto:
const gix = { firstName: "John", lastName: "Johnson", yearOfBirth: 2000, profession: "IT", friends: ["Mark", "Luke", "John"], driversLicence: true, age: function () { this.calcAge = 2022 - this.yearOfBirth; return this.calcAge; }, }; gix.age(); console.log(gix);¿Por qué el registro de la consola de todo el objeto no muestra el valor calculado pero muestra la edad: f ()
Teniendo en cuenta su caso de uso, podría reemplazar el método con un captador , que se evalúa cada vez que se hace referencia al objeto:
const gix = { firstName: "John", lastName: "Johnson", yearOfBirth: 2000, profession: "IT", friends: ["Mark", "Luke", "John"], driversLicence: true, get age() { return 2022 - this.yearOfBirth; }, };Le gustaría capturar el valor de retorno de la función o llamarlo así:
console.log(gix.age());Piensa en la edad como un indicador de la función...
Cuando está registrando una función en la consola, no la ejecutará, solo mostrará el contenido de la función, SI necesita ver el valor, entonces necesita llamar a la función y registrar la salida
console.log(gix.age());