Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

201
Vistas
JavaScript Object With Function using "this"

I just started learning JavaScript and I would like to make it work . I wrote function that check your age based on the current date and your birthday information. The Function working just fine ( Yes I know that there is probably faster and clearly way to create this Function ) .

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
    }
}

I want to use this function inside Object .

let birthday = {
    birthYear: 2010,
    birthDay: 3,
    birthMonth: 8,
    myAge: birthdayCheck(this.birthDay, this.birthMonth, this.birthYear),

}

console.log(birthday.myAge);

if I'm wring number insted of this.birthDay, this.birthMonth, this.birthYear its worknig fine but I don't want to write again the numbers i want to re use what already inside the block , how can I make it work ?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

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);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda