Acabo de empezar a aprender JavaScript y me gustaría hacerlo funcionar. Escribí una función que verifica tu edad según la fecha actual y la información de tu cumpleaños. La función funciona bien (sí, sé que probablemente haya una forma más rápida y clara de crear esta función).
var today = new Date(); var currentDay = today.getDate(); var currentMoth = today.getMonth() + 1 var currentYear = today.getFullYear() function birthdayCheck(birth_day, birth_month, birth_year) { if (currentMoth > birth_day || (birth_day <= currentDay && currentMoth >= birth_month)) { return (currentYear - birth_year) } else { return (currentYear - birth_year) - 1 } }Quiero usar esta función dentro de Object .
let birthday = { birthYear: 2010, birthDay: 3, birthMonth: 8, myAge: birthdayCheck(this.birthDay, this.birthMonth, this.birthYear), } console.log(birthday.myAge); si escribo el número en lugar de this.birthDay, this.birthMonth, this.birthYear funciona bien, pero no quiero volver a escribir los números, quiero reutilizar lo que ya está dentro del bloque, ¿cómo puedo hacer que funcione? ?
let birthday = { birthYear: 2010, birthDay: 3, birthMonth: 8, birthdayCheck: function() { var today = new Date(); var currentDay = today.getDate(); var currentMoth = today.getMonth() + 1 var currentYear = today.getFullYear() if (currentMoth > this.birthDay || (this.birthDay <= currentDay && currentMoth >= this.birthMonth)) { this.myAge = currentYear - this.birthYear; } else { this.myAge = (currentYear - this.birthYear) - 1; } } }; birthday.birthdayCheck(); console.log(birthday.myAge); var today = new Date(); var currentDay = today.getDate(); var currentMoth = today.getMonth() + 1 var currentYear = today.getFullYear() function birthdayCheck(birth_day, birth_month, birth_year) { if (currentMoth > birth_day || (birth_day <= currentDay && currentMoth >= birth_month)) { return (currentYear - birth_year) } else { return (currentYear - birth_year) - 1 } } let birthday = { birthYear: 2010, birthDay: 3, birthMonth: 8, } birthday.myAge = birthdayCheck(birthday.birthDay, birthday.birthMonth, birthday.birthYear); console.log(birthday.myAge); birthday.myAge = birthdayCheck.apply(null, Object.values(birthday).reverse()); console.log(birthday.myAge);