اذهب إلى المحتوى

السؤال

نشر (معدل)
let Person = function(name,age,job){
        this.name=name,
        this.age=age,
        this.job=job,
        this.year=function(){
                return 2023-this.age;
       }
}

let person = new Person ('Peter',35,'programmer');
console.log(person.year());

Add a method to the person object that calculates their birth year based on their age.

ma2bol al7al hek ?

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

الحل صحيح، حيث أنك قمت بإنشاء دالة البناء Person التي تأخذ ثلاثة متغيرات (name, age, job) وتقوم بإنشاء كائن person من النوع Person باستخدام معامل الكلمة الجديدة new.

ثم إضافة دالة تحسب السنة الحالية باستخدام العمر وتقوم بطباعة الناتج على الشاشة باستخدام console.log().

وإذا أردت تحسين الكود وتمرير تاريخ الميلاد الفعلي فسيكون كالتالي:

let Person = function(name, birthDate, job) {
    this.name = name;
    this.birthDate = birthDate;
    this.job = job;
    this.year = function() {
        return 2023 - this.birthDate.getFullYear();
    };
    this.birthYear = function() {
        return this.birthDate.getFullYear();
    };
};

let birthDate = new Date(1988, 0, 1); // قم بتعديل التاريخ هنا إلى تاريخ الميلاد الفعلي
let person = new Person('Peter', birthDate, 'programmer');
console.log(person.year());
console.log(person.birthYear());

حيث قمت بتعديل دالة البناء Person لتأخذ birthDate بدلاً من age.

ثم أنشأت كائن birthDate باستخدام new Date() مع تاريخ الميلاد الفعلي، والآن، يمكن للدوال year() و birthYear() استخدام هذا التاريخ لحساب العمر بدقة.

ولتحسين الكود مرة أخرى لإضافة السنة الحالية بشكل تلقائي بدلاً من كتابة السنة 2023، نستخدم الدالة Date() بدون تمرير أي قيم للحصول على التاريخ الحالي، ثم استخدامها في حساب العمر وسنة الميلاد.

let Person = function(name, birthDate, job) {
    this.name = name;
    this.birthDate = birthDate;
    this.job = job;
    this.year = function() {
        const currentYear = new Date().getFullYear();
        return currentYear - this.birthDate.getFullYear();
    };
    this.birthYear = function() {
        return this.birthDate.getFullYear();
    };
};

let birthDate = new Date(1988, 0, 1); // قم بتعديل التاريخ هنا إلى تاريخ الميلاد الفعلي
let person = new Person('Peter', birthDate, 'programmer');
console.log(person.year());
console.log(person.birthYear());

حيث يتم الحصول على السنة الحالية تلقائيًا باستخدام new Date().getFullYear() دون تحديد أي تاريخ، وبذلك يتم ضمان دائمًا الحصول على السنة الحالية الصحيحة بغض النظر عن التاريخ الفعلي لتنفيذ البرنامج.

  • 0
نشر

الحل الذي قدمته لحساب سنة الميلاد بناءً على العمر في جافاسكريبت صحيح.ويمكنك تحسين الدالة year عن طريق إضافة طريقة جديدة لكائن person تسمى birthYear تقوم بحساب سنة الميلاد بناءً على السنة الحالية والعمر. يتم استخدام new Date().getFullYear() للحصول على السنة الحالية.

 يتم استبدال القسم:

this.year = function() {
    return 2023 - this.age;
};

بالقسم:

this.birthYear = function() {
    return new Date().getFullYear() - this.age;
};

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...